diff --git a/CMake/vtkObjectFactory.h.in b/CMake/vtkObjectFactory.h.in
index c5abf9500e8b4d0d3828237eb1a7b8084953dce2..ad8c9a45cdfe3e94a43a4074c926d5e356260304 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 b5bb5255c1701a81ef2add1aa98737b64172cb6d..fcdf83a1da6308516582a5eea9581201ee363cc0 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 af2840dec8757182add2f2a773e071528e8949d9..0278a42f81821c1921c4db3b66e6001d77edc70f 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 89d320678b5bdc95489e6c60d22d54c442440fe0..276bff84df0b2653a3eef679b13e4506d4f5f92b 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 4a5455287f8a77b0f7fa253f2d35db78653d5f28..81056f57c8eecf0580be6f6d50c57faa730a6098 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 64707872ef3828b3361c4af5dab265a8a2fd3401..2bcc1523eb3331a599d3e2042e0b3f13cee7a7c0 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 1f14c27a2c3b810eb74dec87c60e8044fb375926..cc348fff5ba45c04da982024cb0b14f184532b40 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 7942e77a4c285271f421fb96cbce8f7644bdb8c9..2bef895f325d71fb7dd7c3dacff42aa0b51d6ef8 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 a5bfb50fceff5a8a5467862d585caaa573d9e788..563d916d436827ef383a1ff765498cddc5e06693 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 f16d56cae439a5201af0f5ed4e7a4f6019500a69..214734f15fc33b20782ce778c7561c8247b4b197 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 2d275c996e8c669cb1dd1700e0807078d55e99cc..1bbdce3754e7e83fbb9c6ee291b09a677e07d195 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 e8042a3b76c584fa475395997f148ecbf596b6ff..02e368dd8e49d72face49e7164cc0c0fdf551695 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 e314ed07246eafbf9cb9edb90f6d801487f8cc09..7e7e9d6f1069e43299553b7823e09d4d077dfe1c 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 e38187e6c0324aa90b55a26ad0fff98ec400141c..6fa3d4d1df135b338ff6f8cfd1ea0acb76fc03c1 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 f8ff9c8578386befb64fad2cd31db73cee7971ab..196932ad327cc21b01fc61ab5916577d03b50e48 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 753e987318a95c8661e2fd9168531dda6f87b964..aaa56bd1f5a737b521d430807d7a7441025b3c4c 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 9b9725fce9b7ea131844e9511e1ef650604533de..5c2ff620791b9abc6bc88f0d554d70857b1aa2cb 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 1f5bfaf79790f49492b97db4c4cd1c0694001f7d..5491f5b461577f2923a34c95797ddf604d2c067b 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 1977f9fc00d698cd3cff8e957dbb0f2c8946772b..85469625911a0597fba63178f6705af48000e5cc 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 0ae1bc3085acf3ca17794b81447c2a588246a452..85b1cc139551b6b19c1f5e16fd262c500c9a2509 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 bd80da51d67a59cf418e0f2bb98a0c482905ed82..08afab379b5c67d6118f81f8b292a31311a6560c 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 b00683961852751f8f98aa8320a1ef1e5e992244..b30a490042f0618ef8b5f8c524d9f8381210f63e 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 c9d1793f7bad9b243986001fb43698e91129ab97..65fd35961f9514b2c5a2badb814030bd2d664abf 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 b4aa597eec9a926961919520af32369e35664000..d79ce74b71fa78d78a883b45686f02a9ff7eb307 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 8d2b2ed8eb565f2560157af8157174e9aaf93b15..1e88c0e31d936ac7653be42e0c51283ef99b7ce7 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 78fa34f3c7aa71491f0c7159df975dc5cbce3b6a..4e949039bad5d375930d8f062845bc3c6c584971 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 9e22edb0edb0123514099c342b743f796a9d3c82..1688d4f3d4e23cc185cd07db57b50ecb5ec45f77 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 9a77f98a51ad3687a587482fa7e6b0e4ae39c776..f10ead0a0fd3828d7990ed7916a3a6eab353bcae 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 45dd4df4086c21428eb2de7ab91fa0571c09f545..e6f096afb30583b65249f285deb767b2a9f26e27 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 7760a28b922b76758da1e161a85d9c454eb2fc79..7d8a7f884c227ca676688def38fd30ea32778a83 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 851622af6ac13e197a9bc8686b27aea1ab0b498e..30b59e153322fe0d77fd0e1dcc5a7747126d941f 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 2e333873100a2febce28fd25e7aede9a98110278..12de49d8bac30a32e0f2dbeb7ac598ac291dba52 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 fec12d3cb3972f4b1eea4854ef83f4f821cd9a0d..6fa0c8912b397a8d6be38806bf1f6d98183d1ae4 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 63eb16127195b51eee3e76eff784993cc265ab84..660fbfce1a0f8b20e73bffd239c8ea619e3ac8c6 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 36842eb789122db16b5970819b8c5dbb2186bd6d..792431e875efff14e752b9f8992df8da1880ea12 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 1ea54b3d70a8d224feef8e5a08052c1301b727cc..a869ddd69253fb0a6c6ab630739e530646e5a98f 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 e7d708e61b5d92ffed7de304a71b06a648636352..17d29a4955eccb93d16d0b1780fef788237c61df 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 87129c4b83d5086d68c346ae301647331805175d..f28b68556a13dce2394ae48c4ff6b936a2a2f237 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 c6a1330d8b9b8819361ac30f460f56aedad719a4..615f0ee06636d346cbac9eafca9691b455253eef 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 0de83135a31368785bdb1278e6228e5cada52b91..6bd656971557200598477a79b058b85b2ab0cd58 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 29890259bda3baf0036e4f811bfd4d699a8f6630..6a1fd1b7771a3b573562acb1bc1cb2a77b6d5b0d 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 f6da51c27ca4d2f0431e5586dc9a655802999d72..d68e651b3357d04dcd79522c8b0e3b823e54d766 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 df6162ebed41d95d31141ea1e3e131e046b9affc..03e4ae6a3c6d47639fc50740b0d888d6b2e3d3af 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 baefff645e86dbf23170a156d211efc7e48a8716..0fa963a211452e04eeda89a1fb6139742cae996f 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 baaf1d6a329ffa63820b177c71da44fd566a7404..8008885a7b36687a9528165b53b3913be4d3825d 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 8a2577852bf5cbb1930d866d0958b4243605b709..aaa9947c1949d1dc2dac82032d2b669d44895998 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 673756e1354c594472634ca2bd2467f5bcaab3c7..a18b7cbbe1ec7eea623ca26777d85b6e30c23382 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 705b7b18e2821fa1d2d68c34ac10debb089b3c21..60d406e5322331f9ba322e23e30a9d68bf724c76 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 8398fa95cd69bf71c7521f73bcc0e6b5c4de00a1..f3941f7f22b602117e3ecd68b1f9452e95ad63c4 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 50d5b14653414a6b512c231634d8cd50178c0a95..3708615c98f54b54a72b8dca7c61ca807630d777 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 c98c265c7871e53bd261b3eef0cce9d1cefc3d69..0c9047e333a08d591d3d138eb5f8ce5f0f5443e7 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 af852d0abaee2ae859989657cae938f4c6bb97dc..de378d8ad3e375412ca82296e7f4497d295ef00c 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 b490b00c6bd12dfa0b29051d1828bbe455da5b1e..f45ba61ebfdc73ad3f020cce872fed86841b9d1d 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 caae0b702164a1f3fdc390c70df8bef3369a57c8..9735b2cd2f57a7d765e0e84f30da5903fb87dd64 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 d5aacdb36ef78789ce11b863d3f580527bbbe1f6..ae8f94135f6532b1b821aa16e55ce4f87f3b2225 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 296a351669ec826d200eafe0efbcd599979b1762..5f54646e9062c60af932aa616d95dd49cabce985 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 649ab8f7debf3be990e2f5e5b4a21344cc24cbd2..20f310acdb6f80cf793981e2311bc90ee220b48e 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 5e163fe6a93410a3508852c207a0638323d50fe4..7c6f793414f4b7017c3a2842a7b9c23541fc2d63 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 f114436d954466ef4761a8d844d170c494053370..03ce1f37b9b3a62c2dee23a1723632c56bd8be7e 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 0a24069f572baf2db4800298c369f4c94c27404b..057bd0adef7dd72278917e542da8fd19c13a86ab 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 c4ddf8891d4949bc3233f68a5ced7497340ca981..db4505abad412f2f6a5da6973a1ac7947655c244 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 1db17a59582213b5e2cd80ed3a0a3a4d48cd6de2..50cbf9821e665aca8f326ac51f1c80a13d2d0f4b 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 45c6ad5f77945c129012a329e5e1a453a6f8c019..6f399b7e6d10003f8f8ecf77a5d486c49996d7b8 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 b1b7f26a88abd5575ef6c456cf78d08673e8b47f..0c4e8882cfdb32787de2f124464d6e1e6d2fdcea 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 18aab10f5bcaf17f22f86149a019b24bcb22e83e..f925f07d6e49a139e7988ef84fb14d84ac8ab40a 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 549bbbf4425dcc1103946b0ab54522dcad1b0d17..ee7396dcf44a94931d3ae43af621fe44e9a15723 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 5ddc68f162999ac736bf4afa375897e58da8446f..c5757a1e47a533a081bd25872c51834acb4dec0d 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 aa8844f49fc47e061daf68c241a4f2ad985e548d..93704f3c9250c0404cc058d968c8a707b810f6e7 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 bf47e1bea031b82b6c062b1b991ee2fdb2b0ba7b..eacbf74894813f74340c21bd9b55c37e38ea5c47 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 4183b78b20ed16059bf8ea6aa7872025c2753ca4..36277bc78eda7b1b1b0184646ad079ad1d227ab1 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 9b992909bbb3dacd000512db5ce72c432e95b0a0..578bfe50326b42068faa0987c4301f45c956c373 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 eab718b44b1f89e2ff94bbbb7235d104712f0ede..15a4be58d5582910ee8a716f805cd8b47916796c 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 d1ccb03f9593c38129060f01dcf195968a30399b..fb94b859326e03243df3ea00858229d7b6aec2de 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 60035567e3de9acaffd361a2c0b44f0b157bd443..451efd004eccfa4b7a9b897443dea62d0e7c1c42 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 de970ab6442fb5ff2dcfc104e12dea897c05c55b..2953b89bf3ed98b109ee08d6fbfd2d84be2e025b 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 6a80fafb73622dfd4b05991f6cfe209ec495a984..4d12a59f0709390c4147c56c573f0dac298a86d8 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 689332d1326c8e7445ccb45a7b7c051a3e0fe3bb..e4ea3db5f9e27c6c0418b0ca5bbc8632c1d5438d 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 e79d090000badad0a2c4ea0fcbdd821c63603176..b9d34ee202c910b705ec1e0d96ef82000e8c1ef0 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 c2fd34a1bc03b781f1144f4ec56065832ee9c3c1..7ddc6005f95423b90e0f3a6ec3e30a7177e49c72 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 8fc93927b0d32b1d4c20c23c9b36fd719846080e..ac5d38573f2b80a30033c524b15404134b79dcd1 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 1b8baf1ef4a21594059f00b3716a73b64f10af5d..5028c7c44438992fa652135876aed8227aaed1e7 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 4de771d204821b717271b9b81f3bcf57bf7a7203..2f8220740cd1f6cbedc2e5eb6cfcf3e0596a2813 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 298bc1810a158184de2392f9548cd7e91aeb8a23..896bf0c2975ca3a4a4048e02c260ac10578b7e5e 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 ddc02ce8727072bfb142d7bec04806fd8d44b8d3..2bf770c9b0a05b72216f06b83df426dbe55405cf 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 e78cef95b0a5cf04aa1ef87d5fcc6bee262959d8..6698b16eb3c9eb56a7b95a9941d083897e5374e5 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 1b7c99393f844736d06f2de79420ccb6e0520ca3..27ce1e082853a6df754de7dcc0465ea555a30bdc 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 4b9f602f45d0cd3108df0145f4f9c4ccf8dcd877..75786f2b189e75e60143d98fe8f0691149a05d24 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 2aa03e29e989c44cdf53fc41aa40263cbcb8df37..e1d9c391014db6a49f2ade4517abacfee8222a45 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 e3a0e622d70468fcc85577dd754985cd5a04a0f0..8377ef5559bcdd2c4951fa8a8645f6a86430244e 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 b1ee891cb922f146fa19fe109734d3cd38b633e5..79c3c5f45282a6ac158bd390f6115aec01e08518 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 999096eefb79f581d068363ddde87a65e619c0a6..e5c86e73854f30af7fb022e6611e2baada0627d7 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 b76b453e470ec9418b7b64b2671aa07f092dd74e..a1946ed89749809a6885c424b524f4c4036176eb 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 e1ec13259143212a478017fa89d7734307fbc25f..056437a617a229cb3a3337b22e65ae8d06694a01 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 efe63809b8ee7f0fec7a405b128eb16c385a89f3..a9a5747d07461122764849b9164559727ef137eb 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 1c69daa7ac8ad38d4de0cc1acb618e498b5bba24..e30c36946c37e1b96c1938a094e00c415c0aa5b1 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 7241d99993dad6f32bfee6ec436ef00ea1b1dacd..e886f00a92ba04be0961e73ffda1c6ee824446be 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 06116e2359f4226645667316bc16c35b85e2d758..e188485c5dcd5f88b693c79757aaf502f41b6c6b 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 6b44e27be214b312009555452b45872c0587e1d9..70e1620135d2af8d9f11ae117992d66c71cc2804 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 a48ccdcc8b1eba1940e99ca486ba52b81507fed2..d1cf3079f5b036692c5e1057f201ccc29cbc4ee5 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 19de40f5bfe9f262a4064f8f2daf57f99114a634..a7feffcb2f345ea29ec72de5f0a608c8d0cc837e 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 019ce698e3e20dd871a47e69c3d984161bef9386..df79b3eb3e33dc0b1530e6447320f6ecf7fa812c 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 960625523e1dbec3ffa4639aa2a471f214ad7a00..edf8d2d8babc18cf0aeebe24cf6a80e4d7e37fef 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 8c5f0404ec3ae8678ca63e80e1723c59eba47155..f88ccf77b841cb60ab209d213a5c10bf9ebba6e2 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 d687f9c9748728f0394086dede9d579a94242a4f..87f2d6f670291378ba7817bcb5305fa2c064a53a 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 c1e5b1359df3703c3b2904ad016cd46b9334764e..2de89ced9de63d157e40ef376b5b13faf4c6b0de 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 fb68264151d7210801a2ac603f847b888789e38f..b52637628c9a41247c1104525c5d6d24e2891c58 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 f268620b81578806bd0316b7400a0029999ef6cc..8e07ef4c0d5517384dff38fff6bb2255e008cba0 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 404b426df8fbd77faee3cc90487423063f880b68..2106404158d1c2fd618a10d1e2410b31f5b87d03 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 ddd32079edc409998be390e7c5514f74306bf8ef..550aec01626d57b333486d28f90eb909e4b1bb18 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 e7ea2d389bcbef52fe442506ffee8ee471bab3b4..f99075b5a5bf7542153b1c552a28a6afee20acb5 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 f74be41bb81335cc7360aea9fa0a0c2cb99e7889..0355b209d596d499c9a5c517c0427a95342d66e7 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 bd780ceac51033f73162af39287f267b6026229a..2060b496e8fd3319f25df302bfba32dc4e0f2156 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 cf6039757c7f107cde3a90a7f4b2644e081b4ffb..562413a8c03fef135a3ab20ad4aedcdcf400ee03 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 282394d9ad4d94c9bdd342392a5dbac77302d2d4..abe948a672590c568668d91ecfee2e31b6ab9be5 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 9ab5be53b910f0f82fd8145062584668af3d5347..6455a91ec9cd16273c9d6d78f22ad2185adb8bf7 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 14a804f014c2eae0bd05a2e9af826ad27ef23aea..9d461e8350dbab548a192f858b3386362a4eceef 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 1c94c7e2632b0e37ad0317781a7488136d538d34..6dee37249ef30a5ad1e88eb5b50b3309f95ab091 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 bd3ea0489812b99f6b96f1d1fcca998c8316934f..52370bd19ad7ba993cf6a6835a5b40b000a4babb 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 bcdef866705d200e039d185c37fff500ecbb47bd..2c46a9c2c24692180b11a0ba436de673e79f1a38 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 f1fe4a93ef34447774eaf58a3757ffe1fd447764..280c63f1bf8222b08cb3b1ddbc6d239baf36928e 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 9a3f05ac17f34ee4eafb169cc6642aa2b7b74f7a..593a3647fc395801f3fefe5e23a596e5d68e0108 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 2e3100612cd2e064168e98a1f4f923daa78da34a..a7994bdaf8192fbb02556c006b42b52168d8de4d 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 73fd67e0845f7d804a3136b412512d4b8016e39a..39af032c77f7cee160dd4525c65f182e8bfe90f2 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 b8309d4d3d6668585ab62d50fa2edd2c11bbc558..3b619b5974bf328cf067e8e8e0b3c8101b68720a 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 4ed554784c5dab9a54ddc2cb5df09b4da124086b..d5b232edb82907791c36ffcffde1489574c367ec 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 e02eb681cf1dc22d7554afbcf3a22c95eea5aef9..ddea4c921b27319f0b513517f3e13a5865505465 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 ef19ffcb6c59b1731d158b0d2ee1c9cff040ece9..620eeac532246e7fe86b65d731b2ca290f9ec1b3 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 561801183e23503356bf34e532e5489be082ac6d..46575e4ce973c7d4c80ad6f912c5b7f0a9c4214a 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 207f08a86f34bc6d72dc90a6c8574915e2d08145..13e6e6de00cd06c0d9d523cac8bda1c4462bd82d 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 1f799c1940b319266a6c241c0c42561decfd0f3e..caa060040b4de4d9bdbd5d5d6e4eb3f6868c4380 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 cfaebf2ddecf3aa32c48f1d04f23d7152a73fa01..604f5667e40c19f486bcfdb78ce21081c4695bb4 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 7dfb00cecf6215601814f8aff23e287a1d07d26b..0985f67c7ca58bad24eec3dd7b98aff00ebcef56 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 5b2a536a3d7e5f270d959a1421c5ce2646a429cd..0474ff6eba0efc34556d6ef9e6ef8e068fd075d9 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 bef447ac82c8424688982391b974818521586bb5..b728d78c4a96bc5cd0126e78f8c5573b2dca49ee 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 6aee8d547473339db916d0766b5ab05444025245..d6e0c7cbc8fb51049f9a685091d767766251924d 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 04eeb0b50c7ca5e7de8eaf88aab2c814433f3f03..8e57b0060cfd29a53ed8504cec96d5d8d7a1570a 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 cb11706222cac93d481e4142817005153daa5dd4..8a65e58848766162000351b17fb097c7f55b81a1 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 15a28df15d95ff97d29de1eec1c497bdc51f87ef..ee756719d9e3c89b34de9d05ef5f96e38ebeef49 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 f64bedca256da239c3297f16de626b8188b8d002..a159ad87e8ab16bf41fee9074f6aab2d57020a1d 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 ef8e5c8ff5ba363e260800ee2e4a8cba300892da..e61055a523ac7e748cac2db36ad859f09dd73543 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 cbe546aa152f48645cd1d19e27503158c0eb13c3..0cf43d075014bc78f55b7b4f98c3517e7a89ce87 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 b2affa6d1ffee2c50320829278d724dcfa18cbe3..ef113cd58d5dc77efed4f2dc0eb83d68b03331a2 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 b81435db996ec4f27cd98695d3286f2bc6ce7a44..ec5226058a6e97ef1b5f349f0eaf99ecdfbcd1d2 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 56f2929de18ad5eb673976687d6252e7ca12f1b6..64b21d786ffaa767141ed04c05d60de90cd09d91 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 1d66858ec4c7591761fe11f7f540219754c32811..38df3f4ccc4cd0e98c8f79054315f1d6d944ccd4 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 0507f57c7ba0e46622f747f86419e7381cccc323..b54f6e32156b54114fba3bd4b7427efb14f01291 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 ec3990d8baf7abec88d4edbbd3ec5097c6fb596f..08456daec15ce444c0cf49b414e74bfff283a296 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 af6ea0ee84ec9bbd8ecb2eab095e4a8876464c38..2b3eed2eb496d266c9ca831eab85067d0e68a0e6 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 f6897d277ca0c80f9c771d5462b3793153e1965e..96824141a7ba14547e8d7a14c1d0cd97b9bb3457 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 ce762e7e75817fe4aaaa4e1165adcae3581dca6f..1cf6c44b58083341968c9f56c8fe47f32aa7a5b0 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 54c3f0c68b3c99ef1ef0a291374a24dc9feb0da6..be7f0959fec9ea9ed9f7a01017d7f2e66ca8e2b1 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 9563188f68b9ad415e3195f1bed99e5487bf6649..05076a1e6f44da5ef30e9b6cf077fcd3ae25ddc2 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 53209895f218d67de2706b96f22fe0ffa2b0f360..ab697f306ad924798bbd509217125ebb94c36b8e 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 acaf9d6e176b23156f4d1306ddcd8c08ee1a9fe8..612f5212b016468d088770b354072cef1d54ce58 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 c1f128bb2bb3ab5a6b96b0d67e7b58adc04a18d6..2961c2b488dc75517752c8414fa78493ed370e53 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 f5c4f22f9d790246b60daf2c6194c4295be92e7b..b0176a33be365ed4f08ea25403d495020df07a15 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 126439429eb671aa7a53eab160c19699d1c07d3f..4cbce4fa2b402bb48ed84ecf6e1f38352d7e777b 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 b31cb6406cbc02fa1b9514eda639f648fc987a93..273c77861f420fc8f6a7110c79fdcfe93a798d54 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 8b76ca091c7202c2879bdc7d368c21a9146cc558..bd703162e5b70504e784e26ff67fb5ba2a3be779 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 311ffd72d9f512dcb95cb8ba0ab818991967fa02..a08b3c7fdfeb37ce220b4fce6dc354af78ac9837 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 0acf6cf8e4b5c5436ebbe71a9139b8a69540e592..df3d70f37a06347b360769cba7de99f65cdc04d7 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 c847ee0c60134ecb81655b77fbf519694e7c5d82..ff0985f3380faf775f4eda53c370c9b71b3f8637 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 adada57a8fe4ee404b8fadebfabc8b99463681ef..918e0a10e0b5df5843afc69ed5ba76afe068498a 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 85ec5286ee3473a8437b8c9937d5f11582026710..633413b8425ee91e2b3bbf47db6b0c20441d9fbd 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 f855f4f2438c64166d89bcdd09ea39ec193e1532..25eeafb914948335e856722648afea329c050f08 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 79cd61513e5398bbd87b40d0ac73d0b238f77324..1851cd6ac4e883f4f884a3d0975d0751e02b7284 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 05044482ad9c578e5d577a8faa5b332712d66a92..035fbc7e16a09e9431b59c6e8b04ab22bcbbb2c2 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 d536fa294ec6e1a31d38bfc15340ce7f4d0e5ea5..34f4078f15d83efe18b9b0a6892f0e2149af0ab9 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 87c30a42abfbe7709e18529b4556c8b0b97b7224..0b0c0868e909e6da51e4f00c606f8e7b3213f225 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 8297265bc8502552d96e0f2e447966be636a04c0..2533a89a8459911bbcd1d363be3dc92f18cd1977 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 775d2631260c0355a26b1e62ba7dd4ed66cd0433..51b5e1d7454192b151d8a2d31463b359deb85ab1 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 5dd1b356a1b5d5659890ca5ba863567e239d8b90..f43280caf14710ca3c370a8f6aa9279d68f31d0f 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 e9c328a83baab5cb9096df20889e80161f90ebd7..dbc793ca30ce427f471f6e3712935d5c58323e5f 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 5ad58aa10ecae826647bfc302ae679a92e61a1ae..b42c487a1343893d892adf53b04be3f72c307e4a 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 91e2efc65ced03a9365c00f4ff5ee31b4cdded3a..bc62ad7e39a29fc7daca34f212385955c6f72ce6 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 69cb79fdac307732dcb80e181481ee38425d2dd4..fbedc4ef060bfcfb0f0de2a0a2a3d3785dbd8fe7 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 d7005fc6f65b248325ddd1b305a6db0b7fa97297..80e72c45f25585c0d779d76050e5a6da14b90704 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 eafb5e85fbceaaafa882f4dbb0799bcdf0da3136..2ee53710fad4115efc9cf793e587fe40247ec137 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 0dc4162290396abafae02a91e45aa882445788e3..c26e5b866cb4d1c40174fdcfe0f3b86d461d47dc 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 513a3c07f23835e123933e05b51d0815f2c15bc0..90bf7c92eda57c6f95ba2d246685defbc62160b2 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 a087dbd8e621dca370973eba7b4719ebb3857214..d2f3f43f29262a50925f172206f26b957140ef7c 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 a489c593ad65c39df6853194188ba4b6f9edb8d2..521c70e7a05a24d527bac0976520f5028ff695c9 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 ef2906cdfdf47e909300ee226127a15a3f3c0dd1..904b4f339b4a80b23489a213e779937c0fd649d8 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 dc36fb6f71e769f44d6564fbad24c4f2aedf8e4a..3f78a84af273e25493d8c3b012d4bed52483cdd9 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 602d432f5cdae7591efba157c4bf848ae39f6541..42004e8538c10903f32e036e698d2bc675b08049 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 a531fe79073c57e1d73eec10e1f2cdfed3ca4418..651689744828405bbf8ec79cc6ee6269c7af54fd 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 1752f72a3418a448628788381d5e63bdd437bddd..c434661fc9529d8e57baaa1b82362935422160fb 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 c66346a73a80961bb8984b2768e9e993c1e5edaa..a729b8ebb3353b7a35c44c5efc23e9f1cb82c688 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 d19526940ea7d65e0ab6880d97419ff57ac52e44..8b38e046578065b41c10aff2bc969b9233c65967 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 981a7dddaba678141d8cc80f793b4bdaacaad4d7..6c5289019e30721e13cf9984a241d9c4131c0bb0 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 2c995feda9b8f3d4776a90c4d27a861de0a884e3..0299356757c06e62e1cce8d7819c1246828615ff 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 b7b74fe48cb8692962536100d8bb78d8347ed5f4..b8ba1890558338844ed35d7c59d2a6cc02323c1d 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 e59f4c323009c4b6a51d46f530e50a62b055a687..1125a87e87f5b9c68e62f0deaaea9a55a0830317 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 f5027e8b6507fbb2a5f9182d012929e3df398cc0..48466c1c29c414f58a5b70b670f5821168fd84b9 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 2ee152141739fb7bced0735e7e5dfeef7355c701..17759b62442f5768ab49f7f54896686fdca1fd65 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 123d9fd408a153f393f6e0c50bfb3207ebdb5e46..1336ba1c2c7eb198c88fca9fb6afc67cc54a1efb 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 16986e5f3320466beb074628afa6504d064b78d4..4df63dafa1ecf7f53988fda8b8249d04115e7f04 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 74657696b3d0466a8d77eb863a99645f3587430c..93aa1d952664117189383ee516cb7e6efd567ae7 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 c20e01d2c7d7e134e20f97ccd14fcf0bf13e7d66..50a5b450f642196c2fbf6d22d05891a6621b6a36 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 669146ea97c918b3db907f3542e7026f51c81121..2b931fb5323a4fce69cae5529d8ff78a1f269dc6 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 1f8482f6be9eb18094fff66c33d370190c017a62..4a4103d6aced295205e538dd7d5e4feaeb75d3b4 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 28b62939a6b02cfa5dac8326aabb13d0fb650af8..2d7f0ab3d2a5c0ccdd5bfd5b3ea96c532d498b8c 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 25e06986f93ff08084f1ccbcfdc124ff249d7861..8ebf8ed19dd4dcc297310ef0a331cb18f54a0ad1 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 e74a55021ab3657a251c9a0132ac65201a1324fc..25aeb43723bfb5348dff20f2b3ab529fe4bf1830 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 1e3d773640076437a18f3bc6dba2168a74d503b4..fd2e57ce6ce9faf66b158ea6821c463d3bdeb656 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 548b731bd752e2660f00d962a35be9aaeff21177..13e35084a0bdeda7149e1530fe051e74d77541a3 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 e37951a0ff061d4054deb6df57ec33e774bb2e68..daa52350537657641812b98c9bd33dc91378137a 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 342a9dbac83c5aa8d47e1bdba596316be00c057d..2ed63688f7530e8cbc996ebab4805b75e307236f 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 171f5c5814a906df63b919261772c00e7b0fa742..7e56d1986485eea4d7301ecdaa9380ef5383ea9e 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 d57fe5ec9e812dffb01f1362805a0d9fc48b59ce..8da005443deec4746776099fd56d797eae5bb937 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 8cd632818b1d013b5e605cf21db306a53f21c1f5..677391242c739e28e85f848b299bacd14e3edeaf 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 8e40df8a99ad955089e510b6f4dd1e7a87f59a07..5ebb215ae47719e63a8cedc7b4be2181eaedce09 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 5e10163215e8d5141ff4c423cc3322976ea739d5..73d2ddd6a8ac23fecc4975182aa005b0b0e4322d 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 3031aa33a468e070692e80a2550f23cb097dc6e4..e09bace0311273453e37abf5bfbc5642a3dc1c91 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 f38050d2ba25ec27c85ebf83480bd208a7a6dadf..81915228102b61ef04ffb1fd67007fa4c1c022f7 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 b3fbf7627a15cd5b6a97cc439036b617d4102db3..a3ceaffc51f347b6e2af06b248ca07a50df4a731 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 fcd54f3e7eba16085493bff9906a0f5d5e75940a..ca49878e779e969ab3981f811f6785a7e6ff933f 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 5497feec1879f75f8ede34f05e0ad3433dc94398..809660ee5810ca708572c903613b7c388770ee8d 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 8e74a8c8c57ba6e768b4946b0cea6b179611acb8..964e1ca26ed69cba055e4b616876f468982fb8eb 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 24070f2bc76c0f275c87c87f62832691f7ece775..cd141992de22a6ab7ec1df4254ce35fca88ed10c 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 e1afde8bf3c31f2bf78c0821b949261b2bbbf9e9..b0a296e704c224ed79a38d3ce1199af5f17dd704 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 acbb8716ff5adc57f3d3eac81cf830d5ff30e0bb..7285f744a0904ce6379b157bb3e81dbf4bb0deaf 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 22fe3f3d763f46b779f561f6c3acce344196c2ab..58122107680b1a227fd1ff261779d297a7a68312 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 7a1ec8caaa4eebf4da70d8ac058c2c506c05f4e5..0acb29a78bfec7abbb93bd9e10f4c4c93e26f808 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 674f78a9917fa6e3acb68032357c935c980ebdae..4fa9389f756518561bc75e9191457cdebdb5c351 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 94ad0bc965cd882e67f585544ce6599334ba191b..da41d2fd6c17eed18266e5191487c2c9e34561a5 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 d1046fc73082b2f9150c9d0aad56218959fbf50f..79d696ececf1812f84102521aa7b14ce09cfc358 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 331148ec42d8213148dfbe410d37d491aa1e7798..3573ec0e4461f014381b70d2c73ca8d9b964b097 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 b9cc2070b93fc09372e6247edb001acfdb1bf149..616fa451ca01b3277fc8fac3ec740c212f7b71f5 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 2c415133f82393bb78d57ce19882ae6d295cfae7..d417799048f3a069232b2d8e5610107e4ad1115b 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 4e5d401b96b6c42ee8a4e6b30c542fc6edb7329a..fed11570bccc492ef3f63288bbe0c4091b23da34 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 478b1ea7cb33bf135339a163e68c1c5685bc6c00..fadd15c6d3f117b737950d734a21ee0aecd39af4 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 ba3919fc35ba0837bdca49adfd8d7d0448a51c77..d02a3c1fd62a7a0ecda96079bad18271712d5867 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 6bd16e7d7d61fcc91ef1672126beff045d2c3d7d..3218d9750c4cfd9ccf2551f9d883cb01d9db5425 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 caf1eac69374c33e5502ae084e6b6ba076b88f6e..c1cc1eab42f99239432e03f62e4d147b301a46e2 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 0a4780aa565f3bf8c67ac69eb4a90de247dd2561..b173e02f10a131072d6f600a4f8840e8376953b5 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 89bffeed376f3c7851f3c8c44855cb168f5f84f4..2cf76ada6b0c37d5e5e32162da0d3ea491c08e1c 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 021e1b3ebe60d27bf0fcc01fbf135a2e32c1f3bf..d7f59a4326d26848b107ca43b3414ff7bdd630ef 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 46711c674e0e7cfdbde7e39a81869583fca905d1..725f7ceeef226d037f76e4b2fdb809d84fc98515 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 b97af66d8d136d32f2191e42c92cb3eb52ca25b5..3586a876a1dbb099a48f530749514c05799483d3 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 eaf13c24746c077518228b13442eaaa5113192b5..9b99f5be024f3ff610e83f67e2b69555a1a9c129 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 ea88a0a66fe73c29d0efdd5fba4d5cf77bfdfece..68cef71342c4f2740c6c48e56e1ed6e86c7112a0 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 d134ed1e70bca1db6335b327cf3d92e07628c126..4471e10cc2970d79fe945851624b094ded85c5b5 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 6d010edc26604285742fc0d9a1f61f329978e741..8ca56c2e84c8f3146c4ae5f53a999298935ce16f 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 ceba1b7a12a176c507ec46dfd57be4a68fbdebe2..57adfac24936f12a973a48eafd3ecf81067cccff 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 234ed5eae2b0d55d129acdb59a0dd525d03210a8..68d922e2eeea4235cd85ac95918db32ae01a8caa 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 cae2c0c25175c5c4cf6187f31dbfbb963d6cf42e..61e47d7ca3d655258d2cfd8789a04a8d40afab74 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 9f515fd40ec3c8bd703052821299a8937baed180..20a952b558a6c984ac05a046e90fec6ab91e94f9 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 61e5280fd85e93c6b7b3efd2cde4aad4f745f0a4..e980fd1a1aca0614b74fecb56234e9ec3d3ddd21 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 b3461f731c4f9a88fea8166021eb23d3cf61072e..a2165182641a31158c688d70a93a5bd4ce148bb2 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 d0b92707f8eb857079138ff23d38c2237a27290c..a83b02e5c90f31b49f10a684353c70cec1582b99 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 bad9617ec4d06a096a3e231a948a390d3eb19279..dcd794e6235132fd71ff48ff42bc10aab50d937f 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 a779b4c9e7c75b143772bd93887bd4b455f3f784..4336e2cdbe78569c2b2ca0002fcb64cdea1672fa 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 1b4ef3a26537a050651114faa71c6e352eddcc18..5fa7bb24535944a563482b15b24d124e55e7ddfb 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 cec1ebd25438f1c3e5f4413e772e974f49f741c7..68bf82108199d6ffd9e9fb6559e5e71fdd8a24ae 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 18861d578b51d9f77a96a94fec6dddd9a40aa489..714aca80cfd774c2f5492bb3e62eb84b8d6d4023 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 a76060c83f578efbae8e557a3b093c19c0e3ffb0..ee17d66096fce01912676858cfda1cf502bc3f7d 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 ddd536f13a57bdc0a038c33cf1214ce4d695d727..335bb2dbeb14b543e1a76cd2f1e30e2c074e2272 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 3c5aea5c81a815db319cc347bc68127226f460ba..245d615fce73a08867fc2207d43323e975eb3b89 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 926a74471e78d863d9d62ed5c2b4a53902a22918..acfac88ee472841cca98e5c9f083a0565818f03e 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 44fa957363893b7448ee7600bc2d7adbe336d000..3cfc1209ed8918ec6d504d18150221a54f89aa69 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 f1502e43a061e3c68ac2b7175966cd857e2c0d1c..9c4a8b81bd06502fac63ba111391a9a126dcb32e 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 d696782f3d997308588826289398d2c4e42f67ba..a84adcd6e287178f579ec499ae57c36fdf7471f8 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 f9660c304e23fca476c83b90231174a650905661..f9be8e7cd93cef878a023db9493e80d7f907e39d 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 68a25a092068599b57075ab0303164cd7019bf79..0e658aa34f6bb39a592923aecf5f78881114db86 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 6e36182d08d9584c58a574726ebd5ee6635f3fec..37dd6893fedbb9871176ae91892cd8edaf62525a 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 df4c4f53a6d74562a84bf11b58b2fd9a51b5c437..6db319307ae13c19fa49a1a4516c14bf9b7cddfc 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 1618d9443efb985c0162dd3fdee07d2942ae77cd..57e89073ba9f3d8285fe3389160a98ec9df3540d 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 a6f90f38f12008a3adf242881113a66571a3a94e..83538fb2a855b2227112126a5c85288960659098 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 d5c5257e6a3b72cb9b14cb23f060dc55d67243bb..e41fb485cd4832da294aa65f423c05ef4eee2501 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 99a5e6cf98b7b5aeadf987bf5c74b394fcf53645..162b96dd5a946f5f71cdc6bfe34fc5d6868f8393 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 457297c14f8520b231a9108ff5d25fdbe699e197..413e19a7cf8b49d0cbf5892cf292563fb517243a 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 7315cde93bad9cc0d37148655173af730e0da7fd..8ee2235cb5458ec5eabbe2aa5b3023b64739b282 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 99a4aa8d070807dde87ce15bd816a80744907dd1..ba11bcaeb87e7359b0a797cf89063fd483997716 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 711590209c03e3c11df9d22512fc411d761c1923..36916d773b2cf7c9fafc3d4ae73cdfc9f889491e 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 22296dc8d2f6edaaf6d882fb2e1190bd8dc948e6..1d4bb1fdb2c6fee49fd9ac100af13dd455839d7b 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 324ece57ed028d095cd7dfa3a8221679a3d678f1..f0618a54fe81fe14679a042955364ee404b98ffc 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 c1a9b147f809befbdca14180c71d9d995546eadf..f82b31c2eed4440825362ed1af611760b8022fe8 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 4fa8e9cfaa41775bec5be663b88720f060c42242..1e49e11252e08b7bfda515f1bb7e474ab65b40b0 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 04eb8face8257da14571230857fc5a314a784dc7..5481e5caa4d85175dd58c1606bfa69e88b051d83 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 03dd80fb777fbabb73291d7cf937c8fc82e9c33d..9a33be502e1174a2c59935319ec919217fd5742b 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 2430838afc1776369719618a4f34b76ec45c8a2d..10ecef83ce31dc1337b97fc9db79b7ed6e3e4b30 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 88fd0e87d2796da3f7bd55a11e937d5795bb4475..3ff4ced3790b124926762dc5264fc810e6c9aef0 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 2baba6ab5fb4051db78cc24e4b2ea26e34291fc0..4dc84358caaf84b0513b5c0142000be6ca12b3ae 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 6c60a911c5d21106d419b2d2c56e2392bc956f9c..a9c0d3e169f025abc3ea799df05c8308c39a85e1 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 df67d9e0fca5a2c9d3aa8a7d8fcb311aba3d94b5..a226f22a921f931ef7ac462ab29fdf51dd533110 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 e7393368a0830b4b0eebd076678644922f835d79..1ae7ed69acfd5d58991783b7716208ef65a79797 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 b63f151e1c627813d2384181f702de5b18606a68..c087d0ca1ebd122a7789da81e638872c80daabec 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 ca2839066882adc471aae5bae954e15d2efe36fe..fb606ab92a453907adcf771938f5e9f8f1c85f77 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 74fdecf7b3f0652e9adb9549319b8897bd6831fa..fdff2ac045239c36174b33f9bca2e1425606c4b3 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 da2cf8bfdde2c6290e8105b8e25d09d744ea0655..be69e77996017ff0f49c69ac1ffbc6876879ee8b 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 c084d9297d418cfa507e2658244b3691a72af4d1..f7f51342e813e29e1e0fff0e00efcfd2cb99872a 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 bb9093d96ba3eeccf911185a949ec3f33d219fd8..b819fd8f610290b33e2af5a983eeca4756a1a3ca 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 8d1e7d6b36ff2898d0fd5e3286d03780ecf2fe7c..eb83bcfe8eebeb56d36791b9bf7d58aa13ae2ba5 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 33bbbaafcf5f47047591f37c89e226dc95893151..b456fe2472fbdaad6b5ff0fda96131f58baaf7a2 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 3f4f9dd2ba97fc314ad370ae9e1efa0b06177563..295234903b8cc04608829b6cc66a5b3d521aaa33 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 3f1a7013cb27d2233e867a0c8421e8a0a61633d1..0a113353ef83a1898829a6b8af2c1a9b72283239 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 bb7b44d648ebd60fe1288eb87c394f844488bafd..f13bdb8f60a98ee76e042bc8d37198b1eb21ea9b 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 63d50a3e9e18c4b4d67a4d2d569c2feb3997700a..f3485f379e6e45ee1be3c7a9570379a3e0b13e57 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 327970477ce8ebd16276b12fc227a26458726206..80036b4fdfa55770fc15c8129633eb2f8799a257 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 85aa94464747db0ad54cc20982301103323d2c1f..19c597341a54740fa18705c7e1f3b705ab75af18 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 4926765d5a1a031951f62b0c62c5555a2491daae..d1d86687b2aaa1cd3f1f41d62f6c59bcf6685885 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 60474dd28089593545bd48310b5895ad72208224..a324ee1d5b8251f6d383a5ffaacdbe3e8e218f1a 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 4f561050292fe0d970a356a8e0ea120794214526..9c46fb741d1a2da58d47c324b64cad04ed273e3e 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 82b83cb7bd6f68ff78858b0ec22435d411cec449..9d346cc2e79fa590e6da7d4636008444bc5a8fbe 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 dde92106017afb6ee43eff2a58f606f2d28466c7..0010a79513420993601c654988e84c49f36003b3 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 b9bbcdcaf509d017dfbc8a66e63c73e85f0de03f..a81bdd8bd53cf5aa26d3d506ee9301457a0fd171 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 d2aedbb5f1d45b6665343eb49b64102f8a05cf41..ab77e459e654ebe412f211507719a4bf4857910f 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 866eadeea331a59a0c616b5cfccd78bc72b82e53..71689545be4e79b6c802cd4225fb9cac810a75aa 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 9b0c3b803b39c3c9a841b2d4d8804e39dbfdcb28..3bb75e7db0dc11bee9c30162adfebcaac27bd698 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 562ef5da53b44830d8a099e2be64063b25954424..5cc10be5c36fa5a09bc357d9f1866949c4f809cd 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 87f85457b08f1f51bf09a5f8994ad5c22d0cb235..62d03d1c69172764e59d385acf7205f1d6dc9ea6 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 171c0afab075183d9d5b12f665c706ead4108278..e8760e6ab0fdd377290a3449dfff673b61650a70 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 b0d76a213930ae449e3fc32d074ba3493e1a3134..10118d4ce1e3e2e2fb9acb41b94aa2525f7ca9b6 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 54f6b90a64b37da4c2113ce5ff68554516600729..a2a999e8c3e430cb934995ea88eeca6075121d2c 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 8b26967320f24ff4dcae5fe79b61239b631d428d..e02bcbbfa87a9ac15afce5f8630f1e1ce7339b44 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 f5bb01cbadfcecc8e4caad919af5e96c63fb2d2c..78fc298bda782e12be3273c186c09910e8537306 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 1fb15e905604f12bfb522032aaf4c09bf6b1dad1..f952159f822ccaa47963fb9054c688e42a33c306 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 41647b4fe42bc2f57f7d4f6bd349cdb59cc2b3f5..d73b1f77e38497b7b343bcbb70e6d3f6cf168e74 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 e0f9610846a58883ddfcebf08163840205e9f7a6..b630885c3b8b5a6c93cbc635e6bc16efd10c0e44 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 ff9daa942cf89a22002968f45898b544ed0bced2..316e158716a65c9912d2691123f4cea7b641ea5a 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 d96f4e404f4221cbcd8b52eb216193a7746fa1df..b78af25d3d8f0522d1141838d0fe7452cac148ce 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 3783e703adf7eed57e82390fdf3e9a9ca2d10292..f5608499d50e0c2306acd90986cfe094d8bd6b65 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 30a243330257960fb3c5b70b4852378afd6b33ff..0cca8d580ee7a912b5244cdacbc9c0c5bb831dfd 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 853a1e733bb478127a365178d3e18cb417c2deb1..889333428a74ef0c6a8c526ddb64c2d3f5c037d7 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 6706a593f3c316dfc5480f76a7d9f984bb2c054b..4d4e4cd078cce6a6347b8ee6f6964568ea97605d 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 498e0b74a7a9efceda748404329e66ff23f285bf..714aa0fc7e2d0a8626513ed56b58166c7a5dce46 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 59f8d7772811f7d3cef78857638a7cd9fa373e2a..2450688affbe9f462f21bf96196e1f723e3d2e61 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 fe7d1ed7530122aaffb5e1a82c90611c0bcd914e..4bac6cd99c22f83d8ae54c23e6c243abbe95ccfc 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 f4134ee8f70d00ddecd7dac913c68cbec619ec3e..38b586bae0402e0d8990646f4ac92dfba30fff1e 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 9c80fdb9439dc7934d6f120958bac0a9ec453567..60751eae22419934a67c61b9fe32d7c471269161 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 95feff8b2bf2a8a595d123068583ffc56bf097b9..ae00f35fc0ddfe8a69f5b56180d3e446981980b5 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 67d921705b69fd7b37df0597fc76c5236bd2a656..f40eedc22f544e6443f32218c0da2fb19b6efe7a 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 0b18be7c28d725abe8b9b17c3748881af76ed5f8..f2de0f3293fbea2bedab545c49736da729c83753 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 c83554a80eedeb434a604ea5a5442599fb5205a3..4bf080b8d30b0fc08cc3bcd04375565314e4b47d 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 8254849ee008d530d1861bc2589404cebb1d3595..c8f4bd3974af5eb4dfee3e0bc165308c05a32722 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 922acc978adf9d14104aa6d5357b5f031a0fbb0c..ce0fea03b955e67dbbaea5058164fff5338138a2 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 7ff43729322c625ef976910387688388c354ae82..528690e2ad2b1f2db3a304e6028f7436184797e8 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 5099ad78ed9a069521409328b9367837b03445f0..ed9b86dae4ae2a2914af9bb34f4fb9db5ffbfd07 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 c5efdfb747722fe37b408902b374a66b22d655fa..c4f8140397cb2c2090976ae3e9de4cc941d547ac 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 dc6c69db651a623284ba6f07bccaa0856b6183f3..dfdffe58fe12285410e95b981917a92c52a119b4 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 1ff272c91af2013d671e321b7dd1f2ee005d17c6..9174a873da73581671c92cab3a2f79ab5e0aba65 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 450cf9d9be54c98e758fe3e49ebbfdeb90d26d67..7983f42d75ce18ca65ba09bd1e156f82b10d0991 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 21e92e7958c135a1ead0f9d749d0e4e7836fc0b2..cdb2e59edf1fbf131f5f369f7bd81871fc7e0d8f 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 99dd457d1fcec132ddb9909cae398290ee8be85b..2e7b85bbb0fb26bfa52a59bafc00301347598103 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 7e3bb76a54d96b7c9a8966aa50fd1ffb13145e60..a15974f51c70b2fef115141598f6cbfc35392cf3 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 4df431b72a2ed4791359b377584ceba7da1d624a..3984b6dfb56feacd2deb97cb9ead89d76e1e1dc2 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 c3df10fb8b28d979f4e4edd617c6e276df4259ca..3922ad1355471bfaee01dd260e3716cedc40ff4c 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 387d1796390f486cf71c2bebafc9aca67062ac2e..ff2a87e27440c6274c92d1bbfc12a3682d225f87 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 a914ec6157d3269e704cb27b5ae5675b867fb371..225c98c66186095e6a7383a7275c2377c50e2062 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 173a2e6869e904d75ff93228ba5d035ba6ba16dd..eb3dd3752564ff8f937bac527d983655ff0cdff2 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 4c17d5b73de78206073f64145bc6ff0b188593ea..34718216db64abe85e5a59c625ac05d3d17195e6 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 e23dfbd3f607b092e2f6e1f5b15a6d4621877e70..f20fdc2cad8b0cdcc15312d3258e0a727a9b0445 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 b346b429937472d3e74d136078584d043921eb98..bfad54b5474b055b0dad5fb0eecc20526a8e7bd7 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 8a004962de9f923364ba4f6767283c77d5842f28..9198fe5f0568e4e065654e7c7917b680847b5504 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 8d2e714e787c76999bfa53ff56a7a0327c199250..1ccbed706e48fe41912533a3df99318a6b6d474a 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 eb0a8a8e38b4dabf54e9dcf65f75618cb561de09..afd97a7439d409400cbef73138639c113a124dea 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 5af3e6bc8910e2602392111fe3812f86ef4e415a..1ea524f92a718bd3f2a94be55fe36da9cfb67a8e 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 55a1589ecc0258a5f76446ccfb284f1073223f2e..faae950b0fb82240583863d3f08a6e685293e2a5 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 0ca4f739c894698703ebb20e30fc10c5fae8d4d5..ae54e2d685b30995555f759a4bdbd38d0fe1107d 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 651eb7c8e585e0d423608fc594b44ddcf10f6b08..09bb8813878ce2ec1792cd92e5378cd5c5d3f6e9 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 e3c1627fa325c674ad531cc4dc21d9a38bd7fa3c..6e7053b813c2555be40dc77d23f4fb5064a7b9b4 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 50847ed98a5c947796d36010c9c4812410397f4e..6136cd74bc4b799c7705edc753f03f45dd6272d1 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 c62624d3af0cb58dd3736de9e51d9bed5a4f7b33..e95dcde011f655be4f638aeef39f432caee3e144 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 7ef3310d70ddb8a98ae1309d73fe43cda4a420d5..442f9ce7bbd0a2829b34e18639bd048b4acbdd8a 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 8019a4c3aba49eb6e3fd4618c7ae4d078afeed9b..cd624cc6f2974209311f703dc15e5d97ed996fba 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 fad2558c8e9fdd1d2e1fb5970c22acf29afdeaf1..6cd5aa62e4f4d736ceea22312c1c45881c1612f8 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 4633e0d0191d61929d672866c7bef845808fa523..55b8e4bfd7a3906ecaa59b84539e08ac2a5b28aa 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 a568e11d36fd99d5dbc6ce90f2e8a1dfad1135d4..f6289b6e449391dc65f4221f63b6ce9d7d693d89 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 0c40f0571d03e2c0a363e3618caf1e38c96c982c..60ce6f231068882841df507380bd7d4c70332856 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 f27036b295b56bb9b311a07ad9379d99fce3f2fa..5e8c51f75f1dc335758bd4a2e9d3bcb0971a64da 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 af3e4045d455f37ad711cecd120aa5b8b3e04aac..528485d6cea9fd93ad88eca17021df3d5fecbe06 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 3175565d72f15e68ce26354ce122449743022db9..21e5139978d5197415a8b36621b8554c91459016 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 5a669febdf63b4ed219df05cf155a048b9b5fdb6..d820be13e2302d0e3ee0dbe4d98a47b072bff610 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 3e980f2d754d0efb68ed16484780878bb850d51c..866de52ea3873acfa152ea77d9003d9c35922256 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 331d58b04a3beb1a838db11e58ad37257c37090f..b82d397d0253039a7d577915298fa58afb10bf80 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 23b09a69afea65061129c183f20b4821aebcc8de..d18d89c2581e9db62d61cd5cf812a8ca8f048e24 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 42be6c3a0c0ac0bcdda3e2f1435311621df83ab1..f0be03105abc5caf923d96ecc04943f101784013 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 089078e8e949a6abea75269b8868f16476f42245..036d331368c6996c207d0216a29f622179d8ea1d 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 bbb4b9c25626bb0b7c96d77fa1d0903b13f63d7b..765c8796a9de9d12725baf06a80aebdf429eeb43 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 432ed26496695dfc968f8d3536fa35758a17bb18..232fcab6698e91852837392797b9baf86452d24c 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 6ab54ca4d833f036df817e6c415373853baa8a98..bf8ccfa0fc8cea73bb393e92278d8aee22bd762b 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 ef22db5b503a50fa70b6dd88b52561e9e0251a6e..d822aef67913af76c0889a29b124331a6f980aaa 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 b66e5856e2c1bd66c4503f723757e3261e1413c2..2c391992c96814fb122d117f861891463174a3a1 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 e0ffa34518643ac6b4b2fc199e0cbf5758d829ca..1d5ff5b1a168d172d25af2d3058b47dcc4eda469 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 0c068f0eba88403b5de14e2fd6d616284cca1965..4f560dad63b0664a84ab523a9888b54a3a8ef623 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 92e48d1b31bc1cf9d95db4b33b34999c07672d43..636f307de311dcbc335dbc4254886d8a8f9bd149 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 db2daa7c74c05f32d097c4a5a4601cfb1fbdd971..17bdd0e942dde1e624b45a2967e99467773c7aaa 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 3368b505ee5bc63697c39150a6ac900ca3464b23..ccebc6e61479acdb84112118b9ba163219befc3f 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 763bff66fbe597478fbfe41e6920e1f3c74eaa47..fd20abc74967891a98e3e95e94c897f595a0e09c 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 2a0c2fb99c4fb60b2930af9b6f7439e3fc51913d..cdbba7e693917907d16bfdeb36349e01d41fafa3 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 f0c5ba527b81a02ffc9d90adeb6e56dbe9a664e7..a50e70332b661bef9fffa49c07bec93b2919dc36 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 7d45ca8f666b94384f913bda5c54ecb8df30270b..176e0c5e6ad7eb105fec1ca327059da1be08e434 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 09e952cf9cffebee69dc1dfac61d93c8a663e1c1..864ad366531345207892db5167efe1388f4fff57 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 6785660c630bf51848f152677034fe20c1e1620d..36859864e4957e2df33a8747ea8c9997043cbd5e 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 2172e7a9d3b4dd9099b66f0d7c0fb50dc7a52fe8..f54d48125317a9ea0c369695e241b7aea9625c9d 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 630d2c3fb9fe66e5edff835958b8308a15f08e7a..09ebce532de7dcb5f3b935aa62ffe23ae9d7f84b 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 5224c1d1126d0903f35f969b52f3d5ae2c69496e..1c7f48b86836711ed7d0c4565f7f31c97790a85a 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 8a6a6f9aa9556673fa3e6d7c51b97b6ba856030a..403538c6c4463c4b85786ea0f706c71ec445d5aa 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 cc3019ee4bd5a7e976b8ce6d5b15a395b7a5f494..aa0e75a9dbadc171702417b541e9b35cd4f6d701 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 7494d83fb6818a6dc70fa0c4546f068a6cf3e1dd..ff7004efe541967358c2e7582cac8f2c33460475 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 b7f7ba981e2e5c8fe3f5a062d353a2e97201430d..438f85f3234618b03f1aabec47c550e42e476814 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 3a1d69b2d2a7fdbfd0a99c9d6134e696a6dad597..fdcca038430015e9fe6ce9a5f43d49154598a4fa 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 12edf1256cd9e1d3a93197ee0d16bd474c296a04..de0299b786203d7a6ac082b75726065239d4213d 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 672f37334c3a7aad618230fbf169b2b67517fa52..18cffaa133863867e5582d535f5e6871b587b24f 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 7844fbf90d1b7e98f5c3922319fcabb68d440780..1fb583bc72d7c0970f89eadb4bf01e05c82af9e4 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 332bdc09d5d560282d380dc2bf0950606f329aee..734a8b291ea3ca4a49079e18ffb708e56926e840 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 1d198ff53b9f414c98031d1539ab17e54dc4bbfb..cf454a30c83e58b983a43566d27e0fdded0b6fd2 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 0c721df8122830a7b1e4bdd835a1679808c1cad2..dd78f31308984c840ac333a0293d6f640356e5fc 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 2cb7c2a655379cf9db5099a8f67f41fb654e5848..c49abd99b3c84bf3753a83046a3c91c909b74c2b 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 5529adcd9915e695490d2f1a7ac6348845ec8647..2c5b494e15a8ee7f8a37abf0eee7aee996c7e657 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 69dd5676c37ba79b094c47926ac650c170a53cdb..e402a300ef3b583194c0a80b0c9ae60393f60bb3 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 27e9ccb124d7a2a8adceb9e18256d06b0e14e310..1b68857a8a72052c14402d43f6454b0a71d0bc8f 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 e4d6503fac919f8a4a938907a2b0632fa0376777..06b9f8ec4f9ba04c4ed641e3e5e2d8e24902b897 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 bb2510f5668f120422328d66bb2c5ab1d354cd56..16e777934080c722fe2904deee239a28a0fc5e39 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 0bb23be18bda2a30b2f99b21ce29962fb34ab2df..b351a7d8f7ed70c94d6fd4bb4a8b9de0b5463fb8 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 1256e99fbbf7ea6f86b92dd3a2f043e4ab70da11..7e5e5e9be6fbd2b0d9335c427b3065fb03f398a2 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 bddf10530e9bbc3bb612acb78e570fb020e036df..e2d4d002b341b0096c8d300f9757434d6e852e85 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 7792541f6b111de52b9c49780f4ad63a5904f2ef..b59aeb3f017d2a260fafa0114af59fc6c4fe4447 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 0b1bd02794de368ffcd926a4f56c0331ff912f67..77f6072de5c76e17c41c4d14afaf3a12e63b27ed 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 d444a217bc477ad908e4b7ddbcb7f73b4e460e4e..aeda62afdeaa7ee86f484e2e376e22ed1b83b0aa 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 dd0be72f87a64a155b3f4bbaed13e1bd775e3ba4..2b6710d5e5c801354d1cfe5cb2670537b3350c3f 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 1e399e2280ffff2735a22d2444fb279126a095b0..4d47b55241656984599743258576cce78207fb63 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 fb75c75d292108dfcc28836f51133d1c823968eb..c322567b0a798ac954f229140030ddd947dc25fb 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 8902e3eb551ed78841b477fa0ee56f83b3a9acd4..5105f702e9463e0faa4e361d5f023debe882af62 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 0c30adadd65beea659554a91c94489742f53567a..a09086c80d102c9a8e1f7a75350e734a35378464 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 ac8964c3cf02b2b68e7e0e5e6803040c4be8ad27..0a478645c22f942810225c6edf7535c35924f51f 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 7d2b7a339c9340744385b6e74512daa8a2ef3cd9..827b17d49e9ea57b9efcfb53d674582f73328b1b 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 39ff9d1b83cf0908e5440a238a83865bc70423ff..9bc9d6dab0a845d4213d88f0ea4bcaf28a46425d 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 ca4fe3ad87332a360dfff4d9e3d95ddc9aadf8d0..d5a7e33faf275b10dd9a40df3721e1b73494e1ec 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 24c3c45d4e426bd1162f2ad8897513d959d76c2b..544a6c77e10043744bb22539f71af711938fafd8 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 a2c57ce25d32e12182c4bc5f637fbed8aa8a6c72..73551e7b42cb1563b7269bda9bede229514df72f 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 d9eebf98c9e60296ff8a3371f9204c22e854a1be..bea7b93810bfa70c5134e6b943ba71875225d199 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 b6033f115fe5f934d86e03c6d8a9736fbb0654d0..745baf0ef6a988a7288bb2cbc818f757361043b4 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 fefc3546854ba70f3d6d8214318374366ef6c876..bd9240f2a42bfa5207d70296bff602bf17db5b07 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 9611c096fdfa6d14e8db898f9eceeaa5d59922a3..922181a05ce2ca4067ee60fb65005e4bfdd22a9a 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 9a90a966c008135dc06be7d9dc48f62cf4789d80..fd74e89ef85b064ce3f518682c7bda23bdb2bff3 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 c95faad916bd6a2662f8e1c19c72b6a8a02ed8f2..3f167fb60084f54004c2a9c490622e4154f99a20 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 562bcef63b4f7d474c6556711b96e4827327d58c..fd79b2bba48d54de807b99e6fa2d39a335b0a575 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 82599a2ad26f819d528ef78aa039f63da5076a24..41f217bdf23f718597e0ff22f52e4669af34fd3a 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 994b66feeceadb5a5a6b8d613b77d99e11f6fe42..765d9ef613c4a1711da3f36ae1097c1f006e6dce 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 b51096bbb6d8c31c74e1d7829fcbe9b8d6c8adae..704c2e52423078c4734953bd23fe846b7d2affc9 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 17c56b777ef90611f890238927d16c30b5975567..6843515eb6bd18acd64f69bcad977d970f7012a5 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 7c574205e695ac69340fd0079dc120c9cebdb090..55c64260e9340dc0c58e15bb1df97dd91301c7c1 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 e2970de1610b711283654556a8890b24dd3390c6..1a4660e62875c2a8d325c5132682b314257c9fd3 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 8b8d1edf5b0b55860509904c6cf90bb3b1e6603d..c29be83780cba672fd23db25440edfc46a772787 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 c6c6e658cec9e7d802188d1babe2e5027a232660..7435308104e1c335244de3703a49c8d2543d303e 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 ac768d40a986f3a3088d92e71b2cc58d9fdd7e5b..33e49048db3a2df37ccef144b875da26bccd8eee 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 caa69dc901fee3929c05bde7188d6d190b0e4fe9..cd663f2a56d2e1ad9fe26121ff9b0c595b72bd50 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 690592209b7d5be6010989a1a6f74b471a7ce3d9..95ad4f888dcf68154edbdab7e5e1f22bfb548c85 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 e43c447ab5542e51ef58948943eded0f7876c29c..2ef7b428c70c242240a1e7ba71956dbd791449ff 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 67833d2a920e6ba5e667a1dfaaa71058eb9f8141..44f34bfbae204047bb2ed132301a1e3228112cb5 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 abfde20f2828294dafcb5d05660eb8f37796ab80..a47253c2b3e96a18ddb7ecfb267dd2779a53d4b2 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 9add89375722f064e4eef5adf5265c7998023827..91a90dd2a62d761dc27ff092ed957c0a64f2dbd0 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 fcf7f706f4e0975cdf9e62624acda33d6b010078..eb86468174b4c3d6425384688df45f5f677448b2 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 f6da4079deadb88e4e5a8c3a68ba1ca72b3f9143..e428311b1f1a9a465d13388d548983ef7fa2d86d 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 5375258868bbb9705fb6b87a7b3731731256482d..6893e3950bba5cc8b8b5e79e9803ff04701c6291 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 efce477c03f700a4e63cd800681c7e796eb17644..77427a677df9d1ec5455341bb76269e9a39247ec 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 47cf68eaf9b55ed931ff958d3b37300250d5eab4..428c045ae08aa32592e81da41cba744875e0bb1c 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 9c70f16aa49c45904b266174b0ccd27a1eca0612..e93d43f1e84baefd3aa690f9821f1a573fb623e2 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 4c466e7c29a22b505403d699273d5e262536af5b..e4facf1ad63504e755881e959c8a207cea2735f3 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 6a5710e7e3c536b66b3fc4b7901b700e18de3348..ee16414c4438fbbb460a12fe8c6ad8e4e4195ec2 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 6076545d36b92a5164664911e072853b04a25221..a61105bc5ccbbcbe26d6e9cfd2946d4fdbdfbdeb 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 48a226afe0ac720393072ce47d6b910b857f3c0c..c5aa8b6938e620bf0935c73377307d6b75a30ee3 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 625282a1a15df1481e260d424eb489ba7be704ba..6d8549b5ffa92208d7be3fd0afbbf07675991fbe 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 f6622a85aee510619c0112cbf4513c85023d6b5b..e6b6e6aa526014efd0441b17086fcf298e4f1117 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 fd37f7b440457d42e6d986ad3c5ccf003dee87f0..a96ebf7b7084aa1e63f6cae6fa3455aa8ed696b3 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 69b3263661578eb8623cf4a9d9b687477bba0461..04918cb55bb05e4bbe78037ef5c2a70521089260 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 72aaeecd90bb114d4ed4da5e4055e26cc3bafcf3..cdeff6d4e2e7de29f237de13e52a30c7ab9152f0 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 6a927d53eac2371b32dbcb3f552eec25f9205a7b..95ccd921b1861205b8cf83321a73d380acc8f95a 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 d7463cdf26c46b57c0db5412f5f24d70a5b0c6d7..a72b730cd00d78897565c34c99581ba5abeede94 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 3ffaa3abe2c28c2eb90c5f6dba1d0cc622031a3f..b8721eb1ba53feadf2ad9a76c385b5b75e94623e 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 5d1fd0a0cc87acaadd779a3c03f62653fd90e337..32b44c3ec424487a363042c90b1448aa9e4741c4 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 548a2b15f40c81897f0014d5078b13f160373cb1..08481a13357bc9995c89f0e3b4000883228c3217 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 709754b857ffd710dceaa014dbe76145271d4c94..22694413c80ee572e116f0902d9605e4f82b1a7f 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 32115ad1989b6afd64c8cfb9186450c87b0fd86b..267fa460426616219eeb432384ef01a5e5b355f2 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 560318a0ab7e896c8ddcbd198b869d080a6cf0d0..4d0c43657f0b908fbdf20b26d490d7d23d50f2e9 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 56f725d297682216e4ef05ad4b38713c8b78c6c8..6687e29294cd222297ff6dc6b3de0e08d170294c 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 1871561096359e67cbdf3ec2615931fb635157fe..b1520e809228c73fcc7686c97c874e8fed77ac05 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 52895c4790ca5c7b1fc09c9e8dd48994742ebd10..c2b8b6b61953fd81c73954619918f8c5ada2b951 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 186649d53c8844220922035980619dc4bde777ad..56578f635fc8ae265d694c74cd0b2b6d7bf2f6d8 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 d1fd26852a384f4f0f4fcc6295df89d6002489a4..49692d7e2746e486967fda8668734030a29244cd 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 bfa8897567d03ec2b065b7aec6f7a9651a176bf9..ec1acd2d5a492053740ff5bb117c6a688799553b 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 56115da342345130bd3ceb8dd41c146107da7749..7bac5b305c18366ed35cc48a87da7e6239c9b144 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 575b1579810e730d29c4afb5e53625981110143d..73df4803fef6c3a0bb15fae1e8b733022c8c941b 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 10ae6805fdf40ea7eb52043506a4bd7e86b79a20..d9cfb43d45ac4055d96cbba696d1a767495d4c2f 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 2ec5a35712f8791c762c5e7f7bc332c5694d7db3..b6b544bc89773a934d3aa8b448922069f608bf53 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 015ac4a21dd2a52ac26db7a3a92273c090f37593..dfc942ed2075fb950f24985f279a7721cc60c0ca 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 fdcaedd5b532c34d30f259274dbd3d5d0cf26a52..e261fef7dea86f1233622473766c16caa9560624 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 11e3eae2ee25ad7a70ba38af58b8c3b0e34f4838..36cd0e6763f97230b4b122aa562f6a456e35a422 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 8ad993eda1f6e942888d78f90e6cd6b74a67295e..13888cbdecae68fbee4f6f0484d3a5321c7f907d 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 0d0c04e99cde92d6b02780891d695e5d993d5f8f..71e38845b065aef0d90090f75554bfea3cdc2ade 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 ca313014e4e8c83cb76ad4c6cfad4f12a9a5a4d3..04b87d0d3aed70796fe923505f30325133a7cf7a 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 cda20a64870d43684b2b2e04bbdce035a6a2463a..973abc1d23bfe05d3d5c46f3c57712b069c7658e 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 c97e99803178e0812fb50a7360f59c26c21cdf13..5f107db30e7b552a45f316c2fcef4f7be29650a5 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 a219909f21f6f287597af309839af188f6bd387f..81246f1dbd1831f16d64e3aa92c07e4d2d410e3a 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 ff091db4ff22ada6cf8a280d9643064290b7e8fd..280c7bde03ccd13a8419ddd2b83dca04a7ad747c 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 949972fcb14aaac8eb53053e0a9097b4a24d6c48..57c3f3e9e4464b98766c70d5eba102cd6324321c 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 596ab6da0b83a9a77c9783d1b5c98f214aa9f0dc..f1db81dbedea6866dba299a2e4b320be9d68a328 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 d6fd220502619ed2f0302334806f72102b336cc8..ff6685be9d90f7dcf7f6d3afbb8cb95ba37873e4 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 7668d9fb0b4e22e84baf06a8748070e9f6721e57..855cad67f5612b75a402646998fbab9811db67c5 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 ac0109318335566543a18d8ae0032559bbc09b46..67a941f4bfea9873d87d1a57ee25e24cd0ce45de 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 85a093099fab20d8dcf03f9e13d0645393e2bc55..e2147d3950c1505fb8492cd670d7a12c5819f310 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 08143ef32e4df405a988a5247848e7d129aa07e2..715f3ac871238ee410d846853b1d1dea8e10bd2c 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 b4711fb20ad3e5a12fc99cbf267fc7d09a8d1289..cad483f8a9fa5359617808b97d45bd404345ba19 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 fa0f5fc741720b206a73ab48700108e0a3749251..2c5f7098e3a19d5d7711ae17b3126c4b29ddd993 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 cf4ce5c04eded5114a0b781a6ad944c6b5886f31..2c2ce01f4b511ab17d24b202dc55ce8729144770 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 ed8941e7b1d87e8afb0134f8825906f9b812f0f4..67c3dd5ba5fa4306b9bd5d9bfeddde54c1670689 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 585b3ae93483708b869b9cc0c7623d702d6a30da..64cdf9c141744ea89074ebc4d21d9e9867f3e6f2 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 5903ce74acee3eaed218b64f6bf1b72803274cc0..35b024a1d628e7adc90f63e2986ae39cd6705a96 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 fc9adf79fbe995d666401d29c86f00e98373d168..732b22d34e0edfba9e64fea582b6b4493ab6ff35 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 4879233f13fda4a506f05283021e8e20d1e7d566..d579ec5259a17297372edb389bc71c8dd465f46d 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 e48409c8a363aeebc015ac30ee663f61ae6f1d15..1803821b38c137c598d67a9e1b1d118afa6271de 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 0c2ccbef25e77d80a03cde8c1538c35697740f0c..bc56b23af34c58bd6a4ca6c885c99cc86dc9e3a2 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 25b6ac88fc9b34a6b6130ddd891d3d368b5c3602..98ecc49c0cf3329ccf29736adf2dfa09b319f663 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 71cfc8616c1a4ee0e536d5d9165fdf520a24b620..2ac7d9a6d8311ac281fa7fc6f4fea6d6cb1d7e69 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 11e226a610398aff35a5c3d0e2ee774080e3b9e8..8157b9e82aba329c1631b87002c85496ba793b78 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 d4b8ba9b9061d964f3b8cb060cad7ad484c101e6..6fb0f0bfdff5065b4d27522e2c01e3f335836b26 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 eca825725f3cd03f66b56ec5a86c7d7526d5b694..a166d671bf368ba2bc0be778f133dae5b0c582a6 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 6c3007f0dd1168ab1837607548f01883a17b0fa3..33007c6e112cdbb0af55038361d83f7f293141b8 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 3504ef64e6e8568ec8f3d3c8c053b1967bcbe595..460e407bebfbb4022bde519a9f50532864f8a544 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 44c1850c3068283985ecdc0e24459ecaae156d94..f05b40c5971e97c22f6fda42dccb9ea366d04558 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 9761d317daffd177b5a7b167bc728faad204b4e8..2c9fab0ec46b4017b6d8648e97cfcc156925236c 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 a89948ca9188c999b810e4ff457290dccfe10512..8972f13c249cd93f590d27919869819edba8abad 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 f837e4ff87c4d2c3331a636a85194634b2210481..6b9b727978aaafe0ae8f1c90d723e1ae05750c01 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 67db0714cb3641148f4ed17f1a639d7555f700d8..e8130be56aba5a746d354cfb53ef48bdffb7df54 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 25cf6b60795d710847bffaeedb9f763410f3770e..acf0cb9b13a7346f0fd6495bb265af5c1d121c8f 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 469038faa6e625106b25e0ffac850e6ce86af84a..43d69a0a8d8fbf536ce20cd1c7d2d797d60096d8 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 00c729cbf1ce6a55efe4b6412cab6abad729f33a..d7f33de45788943216d787b3b7396139eec7e9b0 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 18569fd9aa427db3db7dfb4f4da4ff064d7203eb..c4f2257bf0f94f04dcd672f01cc6c03cd03e8654 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 c934b6e0c7aaacffad6d609d8fadf51fae107d33..acd78caf30aebefff3e665b1e1c74e941841d42b 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 847e9894776312357ccbdd70d7da54186c2961cc..5091a9e3b13b2686b7408474453d8d5800089c2d 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 a465fe801afe092428e7134241e10ebba8075012..fba48d288fd7628ff7ab8e52dbdece7f7ad2f197 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 6d86a8109e29128135176d45e5be18f4589d744b..2e52faf330fdc50986832744f03585c7651139dd 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 d82f4440c736f42bb1854a8140bfe63c6628a853..1cb5a1ad055198dee8c04a7eec21aa8da5e140a7 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 66be1aaee92eced3d65617e96b20fa0ac1b24bea..1cd2d743214faaa794cab2998e9549e2646b6e92 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 b2d334baaadd8966d6b79debb297d519696c7e55..5eb85c78ea82110e9e045bb01eaf18553d3d7321 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 988fd8df6c0bc9538f6278563acb1a7f9cf61cee..1118d4cbb5d34dd2e7f49dbd55166b3009fda55c 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 124527d1ee2b13aa02aaebb4a1c67bf000318cca..f6c38f7387f6817740711e66b015a356f43dae17 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 a6c204f87177f8736f818c25ceb00548e54a4f6c..aa0adbf40aadb953583e83ab321b7d43a5284a45 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 0112a676c2b426b46cffbd6168e39632a932ca5d..cb3d06bbac192ba3451aeb39f70e2aed8b440714 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 709ec0ae5d0b46437c7ad9a17d6c4c7da4bee1b5..5e5cb08dabc3cb89d24fe4c6de5b786fd1435757 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 1e54db85b218ce3ef6d62b6e079c51765c13b477..c0816b57751f371e3eac6486c59042f2ea3123dd 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 c454e12d5ff28f91d99a440fce4fd6087da26a42..62e2084a676d15267b0170556a096fb1da3ad45d 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 3f7cefea224589e7e3f1c988d0be1257e24021c4..ce37d508d76b2e1459ee265539d37b90d3283c08 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 62066c8b9160025026373e8ed89eae37b6a8c15d..d06304a9d63ebc2e542ee6246d91b25af8ea1087 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 e37ff2a45d1d12eaa1760aa0bd84113d183b62bc..bda675d1e09b401354ab04a4114d4cd87501fad8 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 e63e4763040b7b0483c11b8be076051b47f1f90a..20928cf02b7fe34e6755718ea7be416883270c8b 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 485533d54163b14111d09932b288f4ad6c271343..4d92edf07ed23f8f9fc6c995cc76b1b790331ea0 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 05d62e941f9768f4582410a640ea6f50e2efffaa..bdbf19e8bd07784cadc39c6a722f96fdbad0369b 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 a014b8d12812667c518fff4fc25ad41d90173247..15d1176c542b7ed54807d8165047b7edd63b7d63 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 e89eead4f474fe7edb9e0e120dcdbd393dad8597..2460b3cde0685c44b66659932c0c5b380c6a113a 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 5f0c18d45502a982f470134b8debe2489196d12d..5ce0dce3d06782ac098531c488258e63c4485def 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 102a53acfbfbeff81eebd81e6e2b5d90b349dffe..f84f74d607bbaba99bf70ff86484f059478ca389 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 8bb6a058143fb68ca08e79b459e2a624d4c5a9fa..2de132d289b271a44ce11dc5fbb2abedd6cf394a 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 a8ca1a5b2d808f3d36bd25909d8d71b9f8c43320..4a66bfb6143f6e0ee0bcee10d1546ce017bb7875 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 1d5e44632663470c220cbf9309687f9a3e2e35c5..f7f511a28782232c2324598982302de75401dfe6 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 e08c95edcffea2a1128f6b50d9a448bad7d5369c..1015afb86a6e76e6b5c508eebf9cf050dc1092c4 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 d1c0dca40773c3e8fddae3d3127d5ab804768f7b..bfde0bab2d8ce9f2b6e5157da1a2f97ccc395007 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 e26b3934d6f33740d61cda6e86180d4d60b6caa8..adfa1ef7f4de034d9e43ff8532999dbfdba794f5 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 890fbcb883a92e700ffc9d6c1f90567895cf9d62..f3cda8e90adb37c233a201d04b3a6d392be7238f 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 d8f52534f2c0ef1c3bc4935d52b533d1d8898c8d..7444c7a9b63c3684fda4b54298705ac777a8d29b 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 0ca5e82cec72e516f011158bc2e9a6a1e81a68a7..862c74cec05db584761c2b56704d0cb069d36ac9 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 f38cb00dd1cd7bec778e36114ee56c0b592c903a..bdf3ff9b7ddabc89f5bddd33cbec9cb579ade7fb 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 eeb5dd16c47e34cf5f1866a714e05661f4142e07..a4afbeeb592dcd87a02e7d67cfe8b68226b216cb 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 092cc2833b9536d4c29104767703b3ac637a92dc..65afe2e77afbddb748006e5ca9b7b01455d28abe 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 ce813e6aeae2654ef455c39e805a3319cbe6c278..bbf74b0888e79a9875fbc9552ee8251106e4ba6b 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 27d60e97e7098a295fb0c1707e36c1869db9f35d..1512311369495fccd4163a3e6443a12524e8d33e 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 632dccdb3d088dabdb277e232e1fe36fad20a8e8..7feb4cf7b8911d2a0327116804f4b84d6af8c024 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 42c84f824e0322209fe6c58f89b0ed36310eb2ac..3cb138ed10e6ad97123cfac372a4763aaf03c7fc 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 c0408a6a8a2da162992bdf041d950a05675591ef..fe64f623c89b530f6084d79cb2d33e3771204ffa 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 8c0665d884c7414a9180b9f36e9918f4e5c9f52d..64dce0ee34421a78cb336128ec35ac5ca85ba9bb 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 1fb4169b2dfb892167b9ea0d62c345c68d93eddb..680f4ee192d55c7362c92ef16bffb899bcfaa6b2 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 26fa83aee80ec0236f121355f1a0c27069b6edef..0509cab2b4cd82a8aaeb06dde5456775b8576144 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 a4cb92e155cf5eb164ed5880078487a5bf807c26..0c7e296e001d39435ff2b842e8cda8400db130ed 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 4117857815a4fff42e875c006ad85361c6b3dddb..92c6640d038732cb48c79b526ea637833f28ed8a 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 ab0259530a8108400a4089adc452b01dbb895c88..84a67481d798dbf1d232f4707327ff08eb39b21c 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 f48620e4193f08c49a1ff947616c4bde46550df5..4a714db608b0e6cb4322d86702a1da96087d713d 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 bcbc488bde98741be1d9e883e0f8e1c3a6a277b9..796d595e5fd6a42eed62d34cc83c4d850fd0ea3d 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 afc265292d9589091735c84e3ed89f3c364df882..a708bc0e907fa5f4febcb6a5a595ac28e8a6cafd 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 df034e79b11b2547c6ec558a7690e1c970fc3a88..73c838e94938e5a938ab09a6a63d576be1a00169 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 b83b508cc09d9d169a6cfc146a6f4e9a01cf22d3..37eeab54fd7e3c60f2ec58206fd333c218be0e13 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 f53401f58217f2ccfaa8a379882d60cb54b73927..1a8defd8ffd999770719679c2904c51095fd565c 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 0f87b2ec925df39b18a834bdfe504d7e7d06c81e..fd3645bbb5b1973ea744bfff278e0004c1bbf798 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 183f114909d3a51a6ad7e97a997e52d08fabf522..60c738b12323ca852db969ce093f43dcaf9c12c5 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 212f916c7e0944f22296f1e609e9218ab0cef2d3..43c6c06d8a452b64a6a8c56d437652e5e4e7063b 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 68830425d82a6df5d571edbf3669d62f4409ed38..08a3122eb78d3cba0b9bb27f66a99a701dab517d 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 9fb5359adc1f5b28294aaedb9ca66bd5c4f63ceb..9af57067228d6aaf5169038dada945f5ee336814 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 ee6aaafef96304507116931570d85ce39daac630..7d9c232d4476268ac09502313005c1250c6767f2 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 e9b5f3d1f007f73443cccdf00429fae47b1671a6..49dfc8ca40bee11aeadc4c5d98a0dec52925f808 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 1e19ca83112cafd3eaef11871a60878400db7cf1..fc4926f0cc0d37e90ecfca74c84ad58f2814eff8 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 6c784c123a9c24c80de11489a7af1155f31f4544..c37a7b6f8c0b0e888b4d6a7ba5ebe5e34144d405 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 c5ed845a1896f5bed62db29796d38a54c124a0c6..8654e71848f7b6b8146ba29f430a8f63b3527e07 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 bbe565914202f4adc0098719550d6d295d3cbe78..099cf16a46403725c1d224ba1e9e2e73b2ef01e7 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 a086089d0c19eb5b3828766d50744373a9a7d26b..92f76d6918f0961e65ef72e6210c3f4fe533e729 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 be2a0229303d0623c72e31e5354098bb94c4a429..39c09a2a1c9e2a452af4fcb81f165da15673857c 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 b2b941e9c5109da99cf1734aead70d734d91708c..9485cc16023e41ec7fc6179748477913cfe9358c 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 fa5762719a28ec730de2ad735cacf0de318cb04b..76b5cefe668abf22c0547eca7bf00016baf65054 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 f4981314ce82dc20120c0c8c7cb4bb9b17b16d6c..36c096738196743bf97ad6af113f2e538ece13e4 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 daa359adb96de3e470b866d5f7eb7470d410242b..368199ea5935071b27440ed79c814e6a9a5cdaa2 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 f0a6d3493923e8ec7d2bf742d9df4f0749932f49..c537ad2f3505791cdbdfbaffd6f018533d60bdc2 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 51adf7649e499546336e917a76046df6d4afce8e..0b223c5a0f42fe00b14cd2580c18c2241295c532 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 a8110cf7dabfd26c043c5b07c3560c34d033e263..fb5186f4eafaea4796f2279d4c8d2d5081288ff7 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 a4f20b9dd0e1a0635c000e37c0ad19beff075333..d921a5b9415c84c8364a7b1bc35af3ef618338d5 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 af369dc8a858717467ce7e733cddf7a3f75163e6..57c0a090f9d942faecd5a3f4b665a76ca6f27ed3 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 15013ebf7cdef11407db0cf5b9de4b7d1d6de282..f2ee00f5c1ef0d6fb38c17662279ebf7e78376b5 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 87d2983c3867bdf4693d25eebe7b9723d1969442..2f897c44ab9fa99d7d97381cca31ee658796c45e 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 0595070b8545cd5728a74d9a5d285f5886d860eb..033f874c317a06fb2db03d5370350f9ba305e2be 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 7b62b974a842cab7c5bb1d5a4faac41d1abf6832..195e72506f8198fade272810ed09c437843021e9 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 63e2768250b65948acb7153b0784f53a125dc531..51b016f68b66e7cdd5e074b93b8839e4e5502e20 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 c765f4b6d4af9081a24fd5219ce5c476b8c823f0..f80019b870f6f49ed1c71122adac2dde3288c4d4 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 af50dd0242b4ac2e1f4191735277b38b9a82bf93..6f56c5d638fbcefe4a1786209ad985b34c6fea25 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 d89c240b770782865c852b5736c39ab6b6e5af00..ec45fa3b95fd111867a010d2ba965e36521d5b7a 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 4a4eb5a59e46244037564c6b2986d1c8f3c3379b..e948349bcd0aa57cc2473ceae016f25dadc9c5a3 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 4501c41f9b25aece9a0942c322556e118ae6eb80..a51a076eba27ce94003b21857b7600a179291363 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 f3ff90ea6f48a540d8d43eb2e25fc814a41e8755..0bbd85fd05de7cdc626d5fbe3efe84e457289de2 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 0dc5f1af37d0e217d5e358a22c20a610b202b316..188fb6c6152b6961c51a2e0ccec0e24c5109bbb6 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 482733e310543b0df14b4c759b9151dfee7a96b4..90944eb17138d37d285d68d686d6d7f6b54d0921 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 4183dbaf4855772c2de5730e4148ed64e00e2e6b..c7085830231e61095613bc174e63a6f43c0ec24b 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 4d33c453cc9888ce4a62995a42f371e8e030d892..be4bba29af00cc97ae744c6f4eb48fe3ab6fecb7 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 b2f95a0a78f805c597ab7e45b6d3584f7b414981..cb27b5f2b8d411e601682b8f724f3cf216ced3df 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 3de1bec413780222261c5a4d954d3a25ec88b3f0..286d5b9fd8f40d0556b03bfe8d786a72d759c615 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 46358bbc481411042f851fb5e77c4b868ddc7f44..1fbaa0db3aebab0f6fcd5d0a72650e29b4f11523 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 1d145ba5a8dc04c3c053ed67ad15926bf412a2c4..38e0be6258693d45c151f6dca801e56779ba38f1 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 1478018465da33a54f95a7e1f8fa02977b03dfd2..83290b472626c5ee89893deb87ee4b57cf5cce86 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 1fc8e2c49146b2e0cf37312b23157514e8145c54..5ded40d94be92b5daba0d5f8af84dbde6490bb3a 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 70b4a7b34d303998636ca3829a653a3a13ad4e77..11a963d6d9f52f22ed704597c268563501ce8d6f 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 89cc7c2a94cb90db36174d5b6ed578d605e4f70e..21171b96de8341b4a93ec5275edb04231990c725 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 121f53aaee281456cf90797ea3551b9d4feecc54..31501a2a9405e700f09e6f8e13cd5051a1a006ae 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 efb833c9370d069804b3eebecc17303e93701640..420ff406cd29685cfb71fde0caccfee72ba29d7b 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 0f92b3037e00d9c3c5c714b0bbde3f0303864e51..d4e4ec81b7d52a4b217277996d8fc7b78b49b9cb 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 6d31b5bc61fa68051ba5851d8a9951f9369f0175..21e37f9e5f836c1fbf5f48c4d380eae4686ad7a2 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 b13af756f92f1ef5c466e41dfb10bf1133766907..874b914349e1e9ce9681d21a55d0166c3e5d03e3 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 d613b17781244af270d323be73faba3a4279f620..ff11bed689e3e1b2911b43faf49e3372cf0521cb 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 ee44c46d79dd72a5c732ca6303fc4c2348cf008e..00f65490458cc100a4f14bd6a2ae6e958289350b 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 0b40ce8038cbb3979776c69b35b010c6f89176e5..a5f3e67279afced9f645b51264a720825077994b 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 35e29db32a518d4bc048b6b1af4f715e5901cdc9..0974fee812be575e81c7b077a52524b9e25d484f 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 7f7d14fa04b1281b9a4d6cfaa25ff2051fd44be0..9820f728aef1f3a1f3672caa426d99c20c86225a 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 04c3a804b4ecfd14c606492b01a2568aab82c120..71e3b3dd36f3fadb818f9684c9587962c76408e5 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 0c3dbb17ee1726f55f1b79c860cd95e48ab9bc1b..523cba849b428b01a58a04a72643c40bd7156758 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 6a5e531e9d08d334ee42ffd09f1154c964ccb50a..468b3473a0de109a6cbedd49d28605f54344a053 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 49ad851a3ae22cec7be1bf365adec3ccd77c703d..05f6d900445ccb7e5420c97b26128d8391f3a35d 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 0ec38cece86946444166f676b9f5cae543266b06..0c418d37264c284ea177bb973cd7ae6c1e7da4cd 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 3b3a2c5f4251ef83565a60d172cb4baa2253b05b..dac14420b628655da262deeb55add66194d53dd0 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 5e0b97d81c6b1a36f3d5c018e54f56addad80776..25c1aa171fe2968fd0beec7d4a0ce1f90ffc55ab 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 76b5050d8d03b41d9958698e2f567ef4e3d982b6..265d3b72ba0c0b6146a053cb859fc12f46a3d1c2 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 708c66b0367412f30723dddcc478d95e71b06880..96c490fa4f552a74d0d95a7a5859b1340183f61b 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 528147357c5e5a0c5ad861b563b0fdce75f4cd1e..c1c150b0dd955376b81b2045953ce1ed8a3da370 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 dc159834e6a5264b34750efce6a679e24fac3e86..e81216270cc04ce5db4a84db06468e9a8cefc3c0 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 9c083fd8b5f2f9bf1f99fb20b1b15433244f0c85..33ab6006f62559b3aa2316713b485b37ba76d3d5 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 5007ea5bac812dfb5f35dd108aae134f9594a8b8..15351b369db600e069d1fa56cc9946e5b0750300 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 e7ce423ae5d68c5aa4212081cb34cf21bf63268d..1a40329a1f4832c6d00ba22e408186ffd816f0cb 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 3678bc3e81a543ad6615df5cb9232df29a5c367f..325411fd792523fde395d1b534207f90c19ab5e1 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 5e698813281258128348eec53377332ddead7a15..2f65a91a67e81797f97541ab2a3777c8dd91e0d2 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 76a0aa3b5301068bd3a319067b8e61747f6b988d..8a7823f8026ec9b39f6ed2cf4c5b04fdb3bcbb5b 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 b96d48f96a5c2c4c7bfa152c77f88002b0b6ca56..6294801eb626de1bcb0b383daa1178a328bb3788 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 1815f2220be0c3db72e331631aa98c383363dec2..5f4e0f5c7f1553e94e27ee8cccb03f03ce3eeefc 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 52330b6209751d54f8a81fa1472377d582478d40..c3daf2f047a720bdcff45675fd6dd375b8c02f7e 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 b513987e46f0285580935e2cb665c93ca9a33e9b..b66e4d562c9d4daf22125049a35be0a4e912dc7b 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 7a9c7d660853e80be9ee2b4bb2eec061eaea1551..f5cb697500325f0057b42db61447d05fab922bec 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 d3cc1bd64a9b607d441342c0b1931f04f2d9e5d5..244a95767448a4eef2eb1d6d8388c97fad664686 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 ae0177dc67d50289d0c5a844009299c5b7ff3958..f09e87044f9a7755e1fecace4e2047f9832ac133 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 e1296d3df8b6f9be052fc8a95056a18dc2103ddc..d1718a9b96143d2b1b06fb705482468943e0c21b 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 fd126f79f985aac7b2b36b9a0eae8b152ac93894..17b485bd612de3166bbe7fa36eb7f355bcbea31e 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 b822d42f126d49e30a1adad39610d9d6569f38a8..158ca9768324676791dad6d5fbbe36b18f25f6b4 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 9d292a2b0734dd7ea02352c9c43ba65b31da5867..0554519769b395ae93ffa99ff27c8a0be674d36d 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 403df185f6e03883dc95da3a2f620885f402acfa..baf2e7f59b2c625fe79823661b925a6a6455458a 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 3ca873c0a0835aff45ba15c8eb65ebef1ea78bd9..9bcea09f20806e9c68decdf0caecf5066c64dae2 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 0b17169369db4675006445ffe20336d14b5ccd36..321576667173f748cf3b10ababda130e9d9d9936 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 6ddfe05680dcdd993b2ab1fc6539aa0005eef1ef..26f67925acf510fa17d956923bc3f8e37122aa83 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 8ceeebf9481fe37003b5263e1441645a3be8a5fa..472f6f5dd253194eae344c41ad17f453bc2cfbff 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 f4466b4e8337fe90382f31c418adfa0e0cb2c3cb..54129dbdc0bdc398520eea056421435ac7345a8e 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 2692716510530a3d13dbea2e73ce30a97cb5bb4a..e202ef84c46d252687267b2bec0f7d71cbb5d5e8 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 731f436bdeed04f05370e303a1d9f269354becb6..2c444e58be9fd05ad825f00433a1967b76e521d0 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 e0c5ddbd3f47b6cd1dc31327d55d4cbf1e701e8d..98a2ac9a586e4467d2357d3fb42e85728e10b34a 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 44dbe364eb644a9c0e8d3673fd923972e35069ff..b21e64c8aea101f8979e4e217a30625dd50627d4 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 e97825d7ea869938eec91ebde20577c114f36d88..c7ac06f2a1eb9c4c507715b5dd40141046d73bd8 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 492778f8c5824b47ed808fd7fe09518ba8f8036f..b5ed3215e643666952f7c842e8c2321c2ea9f0e3 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 e163589aa5f45951aa44379cb5c872e5daa17ff5..79823ca0c02899a241fd418d0c492145d81be2ad 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 3d6be5edb50a0c71cbf98530aafaa2af8847eb03..5077465edb43ef659e4802275efcf205dc2cc164 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 6312df659a8da7b604ddd96295f6a89f7e1fe32e..ffb88e385480213cdc9d5aeb30d2f89411944b51 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 5e92f6d0bfc62bb8d577020d97c20513f2d661a5..94693dda12c6d2c3688b67d03831e5f401d7c647 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 3134f4f7409d982be6460b20524c56ca054de4ea..f8cff9e29099a75b495c08c63b4a14cdf08726d5 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 2270ed7c14b5fac8a56b83a1527110b9a8bd1fc5..43d17ee0f8998df6105cf46b8d671ef6da3be380 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 661266b974230457ac8affbcd00e3170ecd1dfaa..b385438e8d25826bfbdef819fed24180a1921723 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 90f30eae486a8bc9b9560e6b0fb5561361319297..bea6717fb904a89db6c86bda4c55a7b11d42df61 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 648308b003fb55eca0fa3937ec103372e4f0bd8e..ca3d844812e267300e1e19a8427c5b4e5dcb739d 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 bce2747701b6d1d5fa7c4f10ef03cff28dab81e2..1a93ef808e7db8a752abf0ae97873473ac2933cb 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 42ea4ef710c2100ef77ca37bffcf6c88f2f1b5b8..b86ddb1becd607db534a0f48ec8cd2b4e4d85867 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 8c15dcb5a837388ae69f56ec0e7f9e2e4d5ac12a..7d67526a24be5c3ce033e1a864fb21c09ed9d098 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 2323ebdb566acc29bb01697d2e45869555c61cf4..095e12be957b3f8139a4773d6afe50104fa4e9eb 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 8a5536a95496b1f134d8191bf045399fac6ce73b..67bfc03b484589ce4edbdef45612f909b6480c31 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 dc6c67fecfce4fcc396417cd4730f56dfa1ced6f..e902355f1e428c697efb6d1ecc1a40c339269a48 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 014fcad7443d6cb4051bb3e3aceae9e223a7fa16..26102f0232c185c67ef2ca15f8d70889c1fcf24c 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 674631958483c89af4c9295f3c66eb927ebe8677..7138ae152106c484d51d5cffbd0aa74a445f1070 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 810adc6d2ce6d267c5561e5a134407cdd768add7..dffa44ffe361b66160f776456f6c1578b7851dd7 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 ff8acceec2fe662a38f3021f0d31536c98a31063..df5c04a99f0afd3969e7e473c23640c7b23493c9 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 5323cc049778ee1b141db9f68879ff4cfb7ec83f..98968df711e8763bd36836c1cb6089ee10b80559 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 01c23d28913527e1959eb8f5d38b6da29488a5b1..63a918bcb0efe9317e9ad8968adbf47f472c18a2 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 359363b1ce510ac0ccbaea875a5afac87377dd31..c2382769bcf261db2b4b029eda99316cb4d6be20 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 856f7b3ef1f4776d830207f0362b13c057d616d1..691bc952141f1db7f846c5a1fc1cc10fb34e3d50 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 301e35ab7303ab0e11fd923f95e32d98ae38b801..45e2b840d5131d04b3d2c3e8ac6ccc598b153345 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 f913395ae2413fcc1cd7c571d4e1877f7383fad6..196c79a5b8651e31e8d601dae59081f7fc5678ea 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 7d5c551258eb26d35125b66cb5fca3f0deec08d1..a2d287b88481ac9548b4714b9dd8edbc222d70d2 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 d39f9e8023f310c0629623b2b6e5d9a98d468136..42de2112013e2fe263e18fc0264517b1f88c912d 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 56bd1aee16beb84cf647e5512e42fcb5bfc46cb6..ac95a270e40ce6eb3d66a1ef73a5952b666a1c25 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 e881560c06bd799cdcbd69ae1b38d0844fdcbf95..9d2d222ea168aefbd9800c047f72b56e81c90a7a 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 fe29b44dc705e179088f3d85efed72ade5ca5d97..87364ad02c66676647182d08fe45da4b94935f13 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 64f70c6320ae40aff65b1910cfa1b1f2cd3c903b..df5d401fda53a4af6aa68697321930c8a043405c 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 04c48dbc54e9928209a81dc6f7ad520a619780d0..ded359df3342c1ab1a84a0d04e0c5bff38861fb2 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 0f23d3aa1e24551275c04729b0dcb01e5d92fec5..1ebab108b1b13b98f29ee72c0c4c76acfd75e210 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 ff9b7af5439c6de17f9bef32a08c475d8d913fdc..5f791ba07ac153886da4c5c33ae6edcd01e30c26 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 94c289a1d81df1d5de391906e063b01a1eee9265..d840fd470b8aa4d69f81af51442f737391b125b6 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 d07eb09a24313bcc0ca175455d59fa59cb4fdf74..42cbd20e21dcccc1e5ff210c6b853650c8a0f9cd 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 7a462127eef3a6494d1a947161ae4cfdb174cb4f..276f5bbeb356a27916924d42fc33896c1daa2e32 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 16e2b95300cfde28e120311c97d842659c6ee6fb..c0cc3e2efe6bcdb0e45c439cf5785ac58e06d288 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 b4bf3deb8d06871aa00281a8a9cf49970a9ba75f..76d89e2250870f37fa6ad0214e520813fda986a6 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 18d842a0dec902769a2ab9f1b230405d53eb8c0b..566caeab3a86b86f67181646d11d824695cecc08 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 887b13e96e2e8a185b447b57caefcc0e7a781868..18a5abb4bacc079d9d757bb96a8758fec2c780df 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 77b83851073ca82814e705a7cf7ccfc18fea5551..6b9012c8b48ebef1fe32621110ad87254c836e83 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 ab998ed0ced76b82357cb3f6eb545c04c6b9ca84..28517e4ea70883c3c4c5cd455d7737bc16ab475e 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 fda631c9fd007daf6eae0c951071e8ffc3af8efc..01d156b8443c5dfe067579f5a2935f70f7168adf 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 3ec9bde960178eaff296ab83972f2048de2f04ae..6fb0d61fab251de94245c80dee0a2f479ab8d0dc 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 06dd55497a5e04995c9d2c82f6262233ca24f8a6..c84f16a5265c0c6be0914aeab731523b6d064532 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 5806e48990e4ecd6babe3b1f96bdd8d93abb33de..155a3bddbd40b7fadc427f3a183e6de0fb0de0e8 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 4f9ff48f95a5693f151b48e1635aa043e2c86888..96c924596b76f7fe15a789d55d1ac84c20f3f0d5 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 126fc493dc005d08787d04a7c0b36b4538d374fc..d59d0c1074273289085c48343f2b650adc7103d0 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 5b416fe4b1be52a8922d8434ec309b7c1e227c6f..fed297fda36ccd1581665b20dfde0489e3173306 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 afedd23befa1e4274c42419a9b2ac299047b2e73..c838a9316e4ae7fa2f3159518a93461729b7ae79 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 1295987a7fd7e7a04c311cb2e22ba6d6b5009ab6..0ae46355ef0f184942aad4967593a8f53d666aa3 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 f4ed7ffe951c76bce6542184a068dbdfe8e2fb90..2dad8a863f1d2730b0161a56884b9a169d8a790d 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 4fdef54a8bbfdbde89638832966a016b84ef75b7..39150c881d1dfac8d01d4b5e476613703b82a619 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 5e7dedaf7cc9bb9bdb3132bb6e963a332294499c..17d56d6476ff6cdeb8f49236c91907abbf83d902 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 90650fd94ea964626515ece0f961c8206844b5f5..47fe1f895200ba0606ac022ff078a8da7a07f23a 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 24d108dccd592515aa11777878713fa9cfac0964..8d6064932b5d3f130b5a14e00f03a7f6b21a5f5a 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 7e9ce1ee7b77f8b046b85f5b7dece1995398e4af..4b59c474c38125b348f800a7e96f37af0acbb7f8 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 97900f04e32e589483320c16f106c2aefa987e1d..e7735ef311db253f92e798d91fd707abb2a818fc 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 957357d51792878fcb8397a957cdfb49bdd817c2..505fba1f4744e1a2605d3e89e2c5c0894ca19216 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 b4c9fceffb2513bfdefdd188465fc0343daec714..d4557b3fdc624a33e31d74bc0335a1d8627b3e1d 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 d5ba88d0c1ba460691c7f7e84fe4542826f55b04..83de2c80b4e91d674dbb13b3d4b00b43535d49c6 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 f72ae7893e64eae25c8c0304785faabf9295d92a..b53288de05e6a50fb001b2684801b82f1e5358dc 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 1107a01de4bb3c34b04cc5cd9a942327f64d7954..396c1c6d34061eeb3ab86f69b73c101dac28af4d 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 abbc3cc7182571fe15be4c69d5d52d1556a6e040..94c7b4263ddb21936146601ded144e4121bcd4fd 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 a5fcd789730b103f069a71cabbf18c8ef7e720e0..23f275f6df92d46c3461ca0d4d0a1d61998f0fb3 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 15e0044f3aa8e053e018a4e5699c7532db0e102a..5eb9158a616e9c58a7191f46fc5fac1204e960a8 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 0432ad51b0dccc3e468c18608fe69424ae64d1fe..f787854b98fc2d77818a7f4024f01d472c8e3635 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 714a4a51dcda7fef1f3515eb5b797b2b05fd2e77..5f6b13f4e9f40218b482a126f5d5eb3b94714f6f 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 0f2a75133fc3e644cd883092891d0cc961bacaa8..e44b7c4db0ee90243707d28b06e22463c002de71 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 1d180af8504173612d2fec3ffd2579d6ed88709a..01d28549fa96a0c5b158d09a09e790059cc35d27 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 e1d49db7efd5c19bd07d416e321a5673328957c0..e3db26afca51d12a05918b5236c4a6636465f8d7 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 a8d5c0cb35551d610af98e14d9bef1cb3fa940a9..fe5d07bc1ad38c54e53607cf03ec7e07e64a9964 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 9e3b4887330df345cccf0e4a56705d7ac9bf7911..be6cedef29fb8fcf0c23aa34f4f29e2a1075aef4 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 678c5fda2905f89fc8d0bdd70726dd918b6ab676..344cbac461c3bf79ca41392728c0eafe8629d902 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 dcce3a9b5cdb3624fdb0ca9601a0edbe24b8b16f..0a13d33c7878c79411885a2d09f4b7d1dab175fb 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 99227be0c250255f5e464baa13f9ef6d5a35d9f0..4ffd389b5e880e61ff54a3419284224c0802508a 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 7a617ab02cb9d70f73cff3a407112668fa937a49..6d8b0fd64f3d46b568f1c78bb76044633d7fb935 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 8da7019b20319f7b8873b03c9403b1b3dd09254a..7d363e51fb229be88aa0fc8dcd5547b35af69f0a 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 568444e21489937b63eb3b08fe8ca59dfeb27425..23d263a06658ad51a03636298b53254ee0442993 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 88de4492a627cff231354443c00f8e4733f4408b..819a9a3a80a13a0c5204d4211b334c9230287000 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 38c25e3adc29ed2438bfcca2d8005612dc016df7..4306325c08515d9f7cc8518e5a5fca423825cf3c 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 e3acd57ff28d003b877d28bc2653132372407312..f60dbe0ee5ef35b2e0a01646bbda2ad898f272db 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 79979a199544ff559b26cf1f30ca7cc12ca618b1..425b3b9054a43051fd64a5070a6a516f29e3373d 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 b0526fcb200b891e635747697b41ca3e3d0430b8..024d72520444aeabc3245ee67ee9f625c97c238b 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 ad73b5d4e135ff12e1096e6bf978ce508f322094..778ca74870704c164dde9b8c00136a85d313ec35 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 655edfb0cbfc8afe2682fe1c9bd76ccdccf66f1e..5d16d2eed8426d68052308f474a2839466a249cc 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 b05d6e95702ea659bbd8f4673b18d73b1e74bb03..4f02c870953ab10a7d52788f3dbe70355fb38ec6 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 c481175632fd80bc5a4d9e5a864cab37f13927da..3015caf7d7307c652deec73687d6c85df2409936 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 3d56b0764c5e0d208959a76d1aa39c5836007d3d..895ea251f7301d71ebbef9eeb96ae0f3954165ce 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 396be602254cb0ce8220ff616d6fbccc5c06e143..a25147a7a156d8f447ddeaf2499a6ad00c1887d6 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 5b5d1960a62910ac507750c0d82ce071edb5085e..86addeef7a1a5da9390597f06d5a399ff0eb6baf 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 f16e5e9dd4d4a403e772c11c73641380b1ad183a..b5d8cd673f008c1493b2d943bf141d119dbd4ad8 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 49f6e60668f8980c5ac155da0cfb9cb977663c2f..f3eafaf1a2e43232ff7730dbde20acd7c7c51008 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 a4bf694bfb602fa3c8eb359f9d8db260e4fda0f1..71e851779ac51e435693870edefc4dfcb67fc39f 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 c6872925cf6ab2f98d8d8a70cf311f7d3215bf04..ed2d12b94aea6b1ed2e484635f75172a0dc92883 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 36a6b26214de16f49d243db331351b1b4acc2314..1d16db3e2ba5a9bd489b278dece664e74f961ab4 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 78b894141c3d244b867b4421d6678599e58c7586..c272ca6adb298ce5e357cf67ff2da1d3c11c7d0a 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 4cf69436a5a42017232c3d8230371382c59d4f8d..aff1ae498e17a57e09fd90fc353623c6264b6c6d 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 4372eee979cba6a2cbdef9860e7b4397414ce380..309bee8831f79ba23ff1e3219a1e922293bc5b24 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 34d254e1e1f4d7dfbd4339ff2a0056b48b1e3e67..d84b7cbba7cac098ee274d795f29e24c5c1f6d68 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 c3d24c6e2fdc61a847c8fced9abdf0d621138bfc..351803d665e8dc43e37845158f7fe81844ff1b51 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 e4f3a9d11e276d06c9254d0393bf13b761752456..064e5f9556eaadd918dc5e653e8005f84be50612 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 5a594e4208fd1efcf9a019f01f2e1b1af4fe9fdc..63bc0858125fb0754205ec499735132183945b3e 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 2be57fe5a82c43033ef033349f6ac45607684b2d..8da04621aebf0f4522e30b1b9cfd661676258a9e 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 49aa5fbae060049d825f50560f74fdb42d9bf9cf..97507e2f363d42e5812d6c7a4b1caaf0ce485e69 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 6701651528a921a31cf2bcede514aa34d6b66614..65d3babe8bd16e3b43f39649ccab492c17b10c0b 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 cdf6d30ece36b46bbd2ee6a424cf7af56ac148eb..1aa31f5c89872142f08b150ad74784e3457a47c4 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 0c67bb89c66315ba80cd82683579f20166692806..27021f64616ad1e037b213debbc3bf061948d75c 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 cf6f5c07bdf0387155ee995b5b98db9f9d3d7d88..2cc982f7666676dc1a343e53c519a6e8a9099759 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 61e9f0cd0c7d51f74d435f2a62eb5aa44e90e0c0..8e7c37e9c2cb8b4daf10ccb1607e35f13b0870f1 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 8d90e27dccb25220ba31ef8f80d8de4f4b5c36f3..a27b71145d53551e508824d682c070ffef673091 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 aa82dd33308cd857d47968be8693d9cc7c2312b8..8469c604dab02df8c278f34e2164a92c89c31fc6 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 129a6881d9e8ff643330e631a17908d319cbed44..70c2a322332a76a9829936680327ba3d8e5d55cd 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 d1d886c10d6e983a56b902f52a4ef92ff4857616..fdf8d7bb6d877e7a316255d7eb2c8dda0d2d7b5b 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 2a41a105e0841fc6f440f3db56b63c3c91d7b034..59bedc488696c88558456b8a29882b9477fc5232 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 c19013a8912fbf39bd9b814797f2cb2c5e367e8f..c03e7dfcb9013509deed7242297298074ba77e0d 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 cbb688101e572d01770ef27664dce5ce2a3b8be9..6f15849767f4df9db8ef0042efa24c2f07e70556 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 23d1497a5b197089733b177b122807e3f0a23035..7e0ff024bf04182ebef4fc35a8fea4098f8b4f82 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 3ea1e9a95d5953403905e49d53d13dae9c5f3589..37cb3dd1ef01173cced588a5156eee8d61d21170 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 32832a555759d261324707835e4b4b7d4e2d570b..54c18ea54627bdfca33aa4690b105c9ac18faf30 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 dfa8d8cfa25936ab7714d3388de17cf409940749..cc584d2176bd4b6bda6c97c5298ea3a8a83a10e4 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 fcfaf24c1566e2ba20d0bb1814d4ba6990b79c6f..0eb60cf786fc60393ba0ce6c3efd1465dfb2e134 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 28ac83147b57f0d39185274d0f06fbbd580fa907..f47ac14290187b1db5b072a636a654fba3a7cf78 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 1cae2d894ef46932af4061431c2eeea9f683bb62..b684bb0529962d81349eae4142891443ebd14ec2 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 9d10eb2ba0b01ea0eea9491c56b0902fec339f32..9731be701253c921377a5f4f3d68b92e95bac209 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 b087080686a1746552efc2be728455c95963eedd..13ba45b0a3b673941378d426461070ea6a2b90d6 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 41c18bbfba7fa57221eaeba7a942f3a85521d100..d58bb97245a705abbd7e658129f6512ac12f7a42 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 0f0e7ae3868fbbad7af30ede0798f15d013375ed..6d01c63c3b497d32c1948de8e8661b4d1f517ea2 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 8a84260226b4ecac3fc83ffa977bbdf780e99962..3ab0f6b9a6d8c6c4af66ae526f4a0423b3fbb735 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 eb5492707aac0e266fac9c726c18fb2b75f53d6c..62c6ce19de7c78e580abb47552da680bb0ce62fd 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 7f624054009e12cd1cbe8801118f4684587371e6..067ef7aee65d4beadb25d514c9818e311cdd9603 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 3641931cc79b65df682e77b5d15e37ec5cd6f3be..1922c2fb6255c078d7a6efbb40803ec8084ed549 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 c8e65cdd174d291323091375996273afecf40ae3..1261d56993a4877676bbede41de05f3568ee0065 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 eb6652369690a86f0bf90c6eeeabb56cfed3a63d..55f05785c0f379579eef8e144145239b69575beb 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 6dd82bb6dd9012a1570c8100c35b3053e8b5b2c0..1b9808fd5a4fd2068d2e9dcfddc33999f9685cc8 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 c742770b3591be8b36a7f248040006a89431b5aa..f6b3f0c067e2c73a3557d0007189a26725eadc84 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 71aae6f633f72cd6cc2a5878b8b30ae77a21b6e1..cd933cc41fd9d2be291e3ad12315e3e08b7f8de9 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 5d3b94dda5e6bc756a1328b0364ea6e8fe7371ce..95848246e46682456d85e1b54340229ee8bce222 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 433b79c990b2e0b8d353a58984c21d3d83dae624..c86cf1c0c3e33939f2952e86e164936ab1ac5593 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 3b073c93eed4013a072f69f022cae37437538942..e2169035256e5bc11fb03049b243c16a5a0ffbf7 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 f02b3e40a78c3dc926287d4e73629ee658ba81ef..601568dfa7c72474a2c7c142db5a43151d774ff7 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 ea0f0aa0b741c115941686926b96921e3189f3cc..ee74bbe0d7101c1b9cb0ca96be6fcdcada805fd8 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 9db6dea2b8e247ebfc0b43157c4f3519de404bea..345ba6cced728811fd06acea9c4718a2095e07b3 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 98be7d6921e5d0742eb46dadc315d84cd86e36ec..87b71c04b67331ba07504a6176f12d9e17bc3095 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 f29d83955e3dcbc7ad319503cffd39ee82512076..2adb7c21b10b0487a370484537121ba94b90d6d7 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 1001ac8de7e3a2d9da6fe0f8a6db35c48178ef73..267c9d9d170f38648a59207282b984287887d585 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 612a8b0e7e359a724944c53702783889df574efb..83191980f321b6908d41da9b4b35e3ee399fe944 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 cce6513c63f60d2a8ad35f5099d7e8f2ec89e2c9..307cb0b044d8d01963e84546ee79acf355d7e773 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 a53c29aebf16f29d54418cc36f886dfd83b7cda6..976fddbc17c92aa77c728aaad7e7e90f7e6dcabb 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 70882246b7aa0ec596d18a6c946e83bd3657cf6d..ea953da41058355c618763a0052d7cb72d841f47 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 5749cf46ee04eb5170fc2328ec057cfd04714a61..b430425cf393ca8d0e9a7f86c9637d2fa837b713 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 4f76968fe4cdd815fc52ebec0457de52238c4e8f..5e2a86f51a5583a18338541a9945b05babf5c00e 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 03c30d3045e99133b0c855e72c8c403123f9be5f..89b953d6586185523b50ef302685a33ca0b2cdb4 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 7c010bfe53d2047e709e4cbf2da3407bc13fa737..af994714116892a36d2f8eb4c54aa878fa88aa3b 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 324fcaac17478e3a8a679eff1bc7fbc9971b2b08..d32dfc59562330c6f286078697845502c43da405 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 129cdaa1d8032ba58756fb3b3937ad53ad2bd005..0d61e55010640abdc678671c6e804a3b6622dd0a 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 a9576f6e34285fefe5b4fcbb8f658aa96f34e52d..b92153ef506d7b1fea4c53efeaa3c18797ad04a5 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 9bad45bb855c17044d6e192c35d1e45e8684681d..27350f01730e8ae2ad9d2143203f1345cb4f3bf9 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 5c744ad42855bede6860679f9d3cb45bfc21acac..bffa0cd173e4188f9ee862a3b2f6ba0ef0d4d5d1 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 a44f76e8c3f3f05491bc117c911334ab76741130..b55800b00cd8b722da6973ed3e1e0574e7d93d3e 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 f9b0a6526b5ab3521418889ef4ffd2e5cbfcf1aa..f464b969f7176ea0847e44720f984c396d4f36a6 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 88ebde34571f8b74a164f0bf184344bf5733baf4..75860d58de6b28ad12bb8e07d8e9deb6d0703d1f 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 e9c6f517c80a04e61bdeddac9d6fa1098b9fadfc..74974ff900d0dc98840d8140ce371e7a3c292264 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 82ee7f9e31d748ec6c94bb12f875bad1a273206e..5e8566abe4c4d483c24111c21034daab0bf886f3 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 485bcbfae3e83cfbc4fb6970f4603608252165e7..688c4df9c3bbb9195c9084b104b6ca0c8b3a660e 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 13ed39bfb73d5941adf56fa3cb53854d8205e932..1274fbed45b53f3ed67ceca7668baf8b806dd396 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 d0c1509dd49eaf797fbd184d7a5146f033a4c522..e99dfdf5d5a6c4ab0a941122f3596b62372a6957 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 0e58ea46ca991f6e535e90fe92df232efd8f2d7e..767501ebdfdcd965a9b4745088d68a2b02a2eb7c 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 d761fe52c3040180484747a68d9052effa9c61fd..7a81801c5039c8c2186ae6c14d4529925558732e 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 f320b1376e003e488b4852be0b1d3da1dd9dad8d..71c7f009ecb472facc1f96f4434dc248bd5490fa 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 06b443b9fb1e7ae6fc554a3b622581fb07076ccc..4d4b3437b00569f07bfc9d640d94c8e0aad3ca62 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 08b65f32bac09cded079f1fa84ba8d555cb2329f..9ff0683733c06b0c94a37f39dcade1e616f44ebc 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 c63cab41c9b55029f3242456d35b9bbc68e652c8..86a41012069fb47f479cf6e0207c5ef6ea0a8c6d 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 fa3fad03ef8fd09ed1fbf20fc1daf6b466041b07..becc8b0b5bfe77dc2886517ae92440a8aa129db1 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 de42fe61dbd51939d170a86b5b4637c81b60a6c7..4e2a8e029b7ce3f28b85f3418cb96ccfb85b76ce 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 2b9b1b565f1efa568962b70ba6fd897d684f5f28..9902a5200d5a04730facd16d25fb7e14b8155fef 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 8d5ced505d40cd6901911de45c2b540c355e3075..c7390ada25615f18b1c55e13a9d5cf00b8c4d69c 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 da9125646aaf12ca18d8d2cb934360fed71f3cae..400918bfb33deda18a0f5910c37d0c0145be0f92 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 4851e524a52cbd24406bcbf7d64c5e1ef98beedc..c116bbd4c676edd13f4b658e328d3e183bddd598 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 148c4680204a5cc20a4e46a392bae1ce3ff14bb9..a0e4912e5960800364ff790a5118c4217e14a5bb 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 db34d2fd2d009a821789ff072087967d612be2f7..b9ff8e5f7a4f528802d5c7a1f6b6b66c29d1ebfb 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 b0932efb43674833063bf0a0f343c0bb81d4c82e..4330eacbe95bda6bb19e932cee888fa07e4bff7a 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 f337624262bf552d8b3e89cf5210ae48d2816961..eb67914cac20c02c867f4206da1a20b70d8d52bd 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 6c387941e7d4f6ca8492bd3e64080f9ea64c7c62..d471f0d1877e08bdd8c5c775d1bb18ea552f6293 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 a12b17ec926e83170044a6698843f9c1cc580c03..1f92c56f406f9aa59fa3b6ceff1be6a0cc976179 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 6cf0586a67e11b1aa7fc20d8a5d9f1d23bb8f9fd..91bafd1178172986d2bf3bd821ba70b1a94502fb 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 5d0203f430e7a2f7e45158074c382b53c4c6b063..4528e18cb9d989a066a976172cdea5d842394970 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 72f5ea62e8363da315e575f60f5caefdb3788c08..ba552fd239e1b604ec3b0dafd6aa5c9b6e5b39be 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 6fa06d99a8385ffde238e3f776134c5394d6f408..c08de134ba08f39dc9f97eaabd02911d0f3b44a5 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 2fe00ddad2155a4c7fd4b1b8f8f3a33dd91d1ca5..c044c2d3751f20bfa6c1c996967d34aca2570dfd 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 0e910a8e33c2e31a6ab2f7a8b0649e729d222b25..55fd6cbc01ef0adbafdecd231318c5a1c62c300b 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 e26c04f41272d9780b16a923f41a41d74b4b51ca..0fa9a514993b0e147994c1147ad32eb6aa46305a 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 fac83d03e038d59352ed10561f82af91782a5891..4ad380bd5ff99229dfe96b3e727a45f4ebeccfef 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 d805a0bb152348477ce971321c4f07a204ee4474..a2c28ea9d6592f337b264d3c64c59e74ce6959cf 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 25fb29db4dfbb7df33ba3abbe50a01697fa9d14f..7ae7fd8dc57620136825ed49759a309d5db8069d 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 811d9e6a45ceb0d3355f45101f7f4e7112090af5..287473558e7cc6455da2674a19281b3b13e9a213 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 8c9ad33be00d7a25636250bda78a505a3e658014..bd5b1d0e46d4cde78e83b9d33844af1af1c4ac5d 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 75c2c5693095b668883ce971da9f7302c7d9cba1..2cc056a38c53924502f33f57495d8f918820cb1b 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 1267b0852eeeafc1e17bef65deaa3979601ba653..14480664cae4be94d50738f0f4fa217fa9b3cb80 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 71a99e802f4d21c650274ef38958af10e87f9139..961ed6fc10b0e69ff0c09c0558c9fedb958fc9a6 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 895c5fe819119d84d93f8db78600f633c8a5590c..b105c034d57121ebfc08948b834a28ad30534fd4 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 1dc2624d3cf73afc0dc9c1b0590d4f915091d588..039f19b29296e9579b98b67c3117d26aa898b32b 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 8d1d40ccee575c7bf69d74942df792d050ec5ff4..604cc3ce6f24fee601237e96f50326b083cd908d 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 4081f70a5f53ed85671006eb51699378c62dece7..6f91e79eda6ff81c046687f0508f61f34b510ec0 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 0a6cae2c001fe33495428576ba494fc61d664673..97a2d5bbb3d141a01ebe96d0e17f4e7f9b14ad46 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 bf38a90cdf8f0dd2d618c610077b5f3bd803c5a8..48d532c98059c8064eedbcba0ef0520fe7bfc60b 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 6bab61dc46ded78d5857b15ab713b5f1396a824b..efc1afc3096b5b2378624306afb83dca71d1094a 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 c0038d7d5678ffe9041c25a5243f457e04078c93..8b18501a1a78b81309d29c0db4a21af267d4b20d 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 3b54b91ec61b7dff6ea7fa80518c82462004bb86..87e25ca4e758b9032b2e14770d046b111d4f2420 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 31f1f37dc24e40a7480432a45504c0295d5c90e5..14dbbe78c2a1465e321d9380724c19c3040d3562 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 dd6008bc06fe816feaef70f21c5f135dcd555b45..1843167ebdc70d8c651041f1c8795453ce6392fb 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 7c9a78699363248db610a5d5adf52bd9ebdedca0..adc224e05e5f5b5cb34c8db60615caccd41422a5 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 edcb15d06abf6e324be25e92830b798ea2c9e189..264693f2c8a3c3793c8f067a2ed452dc79e7e51a 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 ffbbe7705a9b2e4f6e18a46175da34e18a391651..3a4f95309fe4bf7ae85bdf3d9cbef6262f25c1be 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 8f242d8e40720e14d1a338225ceac947cce3962e..682d250eddef74b72d4acf74331051accd033034 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 4cc0c25c3e1948f2f432fa877504d46229d9cecd..a65573e4ecfec5f37b14b8283d3d0549343d352a 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 315198eb257f85f23af104049b4c26f22401096a..98ddedc5d9102e36a2ea109eff6350eb952cb3d8 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 6f6b8e8acf4dc72bd2425d487c0158f5c6e6fcc5..0b49f1800707cb7272e7d938439b9a840a351ca5 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 cdbed1e67949686cd8b16db53dac512a5c405e49..505ba1833848f83a19e8d6cd6b7cd613f326b8cf 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 d9c373d8bc7bed48519b0879d7787abeda7c64c7..5b57fe1413b953c4b6af011fc63552639ae40644 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 0d74a274ce8aa1b9fe3c09c41807e2a4b8d9cb5e..abbdca781a0d17eaf05ed3459f1f70c15919868c 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 a0a8e1e9a3e2f01e04dd413344847d9deb15b864..d6acc79450ec6cb6b51953cea5ce37ce89ae2146 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 b91998fdddf8bbf5981880887336e4a351501ed9..a67153b626e21931f238655104736bb465708c4e 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 1fecf3ee3d20379750ffededf7369e002c7e017d..abbc3ca7a8f1641fa9da9b2421c3ad9a6fa39ba8 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 c6126038acc08d6f18f18465945a673caab99016..b2f03958b818b902e825881c1e390a95385c4eb1 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 58107c2273077e0027e58d062ea6e8eb3a70663a..d129b816fda59ba0ba7f3dcdaa2d07f90f120b8e 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 863390f4cbec680d3a53d4e783f29807ef95828a..b7b9bd3cfe57738799a744a8586bfc397a66fd52 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 00f2cca288d06ac490105052e1903e463f5d866d..90adf0c2d2d319c8ce011add5ed3ceb4690a8450 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 ff89a7ec25a1968159afaed462d10568857ff720..cfc2dabc1c33517436f1a2d40b2ae6c6e6bcab58 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 f921e1bf89ae1b3c57420a16708b66f23fc6dc00..fbc23a98cbc6a1a4dc542c9232e6687f69a7bd29 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 d64491347a99012d6c196783ca0bfdf20c83d521..4e4b89ae3ae76a0cb26d7650f37969f964ab004b 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 e1070854e018e784d41e4ccc1aa58427693e2092..8b9062a04952b0a85970fc0ad441c09d7b47b71d 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 f9a66bef8059d077312124cbb35bb2d7eaff463c..75db6a19cfaa1597320765571e25e1fd78040656 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 bc212004ca39e5abdf429ad8980a05672b94f3b3..866104f05e0120ca0d8dc4887ec05d3e7ce35023 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 23a0fb95b43913f6cb45872913f8e443fb79bc9b..46da8286f4b6f8208839ba8bcb9379166f95e189 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 10b04019a029cd528147c4c5c8d8098daae7042d..27dc27f4cd61c3235654e68c642b059629710da6 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 15060cd2c7304caf244f051455ca1338743e4e76..5d8d15d981db926c68bec6b276fd05e060fae2b0 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 cb43e5a6d72872cd3f94f3afb77ba02cce2d7f85..ef687c8726a2dd5b18aa343a27a30e6106916049 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 965fc4521da1bd6eaa3b6018ba335cd14ca25bb5..fcf37a0a47c4f673cd978ed62bee9692de98d524 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 7a1b52383ce2352d9eb01261565b919db46aff9d..1d5bcd32db6b101e6e2244c5d9303606770cea80 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 de1f1ac9909c717e27c11c5657007cf3d19fb091..e1e4fa9d78ab5906ecf4c44f3729279d8170317b 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 eae96d6c7e377772f76cd3759c6cee9e43a6d093..716d497114793a179fd6485fd3d02a959cdffe05 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 0f69b6855c5dd83ecbdd93b3a849d2e5fb6efc9e..2434f40dc9f5ae98c4ad53a99b4cd00b5c0695cb 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 0a5ca15fe747e7d22b484ee51d02adfcbaaffda4..3cb015b6af97c3368dccb8ed4995722ff70d1e18 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 f00bc8e47f8750799f8678f2a5a95da6ac64785e..bce91d83ee52fb866b0561782cefa84266b35a59 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 aa644e776e9ac0ad721bc2039faa4b4be873adb2..8d2d28eacd210f5edf7890fc649a92eb5ce41f98 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 6c988c20f6594b2b6f5dd972d2ff54fae7ccb6b9..45582eaa72a8d23c6be039fe27c7a292e919c9f2 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 039c3c603e92d64221e73c5269898adfaf70d416..37e1b35d0e3217505003c093c756282ba0e5798b 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 6d33b1fc5fac7b4720dc36f1207da45080312da7..44a7cc71a4fdf962db21a938669bab0604f9fb76 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 06316f9c59051376657bffa910ced298f07314e3..75e986054ae84eda611992070b52ae3d107653fa 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 21c39e9002d825bd7804a99c0a54bce8f26638f9..1f795297d4d83bfeb4812f156b8ea66aeb0c09fe 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 02813588415e3f066c14ab273098108a9697c69f..42982753c57c01561599cb461c7c8b0756674ff1 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 afd1e8f366d32202385261ae0f7ef19e7c1b4445..7dcc5591e2dfb041e6b3dd882fc639449726e100 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 1a8a18e9ece391fbd0a70abe6032a577de250271..c453e50f3559a97dae9f2029ca4585e4752bbfab 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 3bf468e4dc069fdc0bd84c1b228d99a91be5e2cc..b46e819e01838af4cd4faa175147c4e87f5074fd 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 febbb1d9e2607cc98eebe060f972865fb216727a..fc25fb163d7d355b62cc06a24dbc889235a900d2 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 9ee002e38cb4fa37f2ea0ccc131d7d54a4dc4cc7..4e2a7cf36cb925708a1d15a2cada41891b748bb4 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 30a077f9647b63320ca551ffa4351f338dd049a1..b827a9d6d05f811fbc89df1aa49e7687744f1f28 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 a61933496dc02b593d508e67b6c2247175b0fa0a..056e1b8c085dd3355a563309811312aeb5962ca8 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 da2176a738a271752d381cbead1c514abbec66cd..f8dfb3606ded991678ecac7715c7ef88bf650c21 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 2e0de6aea5223c33a97ec3b74b289f3615b88443..b0e6d6066210a12bd4152e04c01847c6f9ec018d 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 f0db0f223d6e1f7394a1c5b1d4017993343a2b9a..7ceb28c3b83701ebea8b8391828a0ce0e4a32ef0 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 bbe470d1a844cc395675c89519a5832db483a95f..1acc16570b154d981b7342bb59712895c7bce357 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 e61c0dd573385fa63ee19f3c6d7213109a28008d..d57d34640d02629be19cfa59d922665794028e1a 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 6e99a028486bbd89102bf17692c2b5cc7ba3b3f2..a7fb3a8933062c9b4fb998bb14fb5a49d38dabb7 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 c056011a8bab59f9e4025b1ecc839fa7e84b6449..68592b8aef6d00f1203592f627a5e04bf5544a1d 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 e746ac1e8e8ad01b311f2fed78ba875322fd651f..f9e6dd09383947ea434563d3df02df46242bedb7 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 f913cef6105234aad2bec646878e5e1f4854ae02..d0420746bee36cb411ff142bca38d18246da6366 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 8fe92e74fab7e781448f7f3548d458268793dc55..5e89340caf7d5013adba036b8d392adf599d273e 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 d6af4a6c00834b1b3e46867ca9332552316a386a..4020ac0dfb5b668c83fd71c1ba5feb38cbf9a902 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 8f0e1faff6f48b847c4d5c307e747e49bf7d0163..ddb2d42088cc2f4cee1627812213b24d47ba4ad4 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 86e62a8d77db3e3332b6765f2e272eaa9d0fe154..93d3e31e767cf8a82966162ec326959e2633030a 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 f59e27b4df80ef51556046478a398fa69e52d51f..56b54f0ab56237d7e374f32e0ef5652156398de0 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 91464e5e4c658802d51f2c58e15dab717b786036..b7a6e72b7125d223e8284bd94052907bf5c9cb73 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 d728546cc13cafdaff92c9fcc9a711cfc2159635..e1de4ef8a8ef961080bfbdf5969bbc502f90105f 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 c65d0746e6c45a4b56b460378b84951ab9359e22..af1b3b5aa237882c496d05330eb3f125c6e82827 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 1c81c77b68fa716afc5ae06a498dd12aeecf42cb..1d5fd12a816841922318df682f755862878fd6a8 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 b8ae89753a78a0b03c6ca2c96a4e6e6963fdcfc5..ebd089a128f88d72764d9d524e2daef5dceeb43b 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 695c962244b350291af33e943ef953866c204146..7503c76b339b25dd04c46f6e7160791766078546 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 10398f5c170c9b8c957e4591e07c89547cde73a7..079b9ed556893675eecc70e06efc55fd2cf12e27 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 443259124ff6f824ca1371791108147d51620691..4615bd4172b133eb8b16fddefd6846b18d56b6cd 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 bd049d720e1ad14da9f44298381072e2b622eca1..5fd034c3f719c65fac07c6cdce6aa614c5ef54fe 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 079e97886b99baca3bf17fa557487c569c55c352..afab2b98f63d20fe855a0cf3bdbe066fbdeb8741 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 3fb2e6374427c52c958d7d1a4f02d1bd14ce4776..66d3ae906275dc6fcc4df3cd02c4722f62b2ceda 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 397b92ea271e5b555d8a3e9da3967dc570382804..bf4577c245c0844c33104dd6d67c99bcd377b006 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 e44eb9e677d03f576d54da7ec13f57d0d6023999..360b20fd6c7482fc576374a8de19bc68e7ca3094 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 002301e7e6ff9fc87df8b6def58ed64d261399f6..726d997829b518d15db53ebc94c0ca43b1b2e972 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 30ef58adb8eca81f061862ee104c5a5f74532cfe..a1cdc56cb84376ee6d0f633ec1441f0ae8db57ca 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 e1881b9bebad0c40b348c043cc7d87f0fec9d256..df773a878583b942fcc0df63fd8e11ff8c3dad1c 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 582bc30c7f160d5bc6a87140387707075a3ef7df..248fabe5e558d82e7c7c137e58c4854a9070066c 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 7b4ee387bde3bfbbe36cbcdbe94f57d07c64af28..41dcbc37abcbd3e2ba9ed68d72bc4230a2210785 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 74e89ef44e31e3669e0d6157c962e9f9da6d3b68..88709e246b9afd864cdfb382350f5c02e3f7e7d2 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 3568c36a9577b08e2d25eb57d781e2b0c051ef8f..7f770ba87b95cb25ea9fca9009abcccbb53b5d49 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 bde77d9970b052cee9465c391ad3f163d32ff8c5..8c44c9a6e26130df85a1031fbe9c6a5afe9543e7 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 858831c0e4ee53ee273c98ed5334a2e2a269987e..5fa14b1a78c6c238db05b98c3a1910c1217aa882 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 7feb493bd346ed5d65afaa9cd9812b13167c9b8a..c63e95552bd6273407964fa25bba102c4390d25c 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 33a929ce84ffae864bda3d0e3aeecc4abd36847f..7e8acef5e077df8ddaf0041b66f31ce236c5ce8d 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 b829cb7bb4318912874b9a63264a4c62106a91fa..427834b19c756969b7025acc3ab008b3159db344 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 9a4fabed7ea169512c9e086731e757a4954c62e7..6cf91eb50329701153376a785bbf2a48c5a3531b 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 bb2ab663592fab5bce7220cf8d04ffb9d8eb19af..16eeee04e4f9dd5b8151c8a7d51b256e698c4faa 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 711ed338a2b04834d26d06060bc1f40b5016c2f4..de160f4ad96ee52d3a25ffee4b0b06dfe41ca71d 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 126c698ba9b940e49735caebd34705c365216a70..8fdb5409b5ea288cde97a20c1ae0ef50d9974f47 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 23c927df55a33eab1cea0390f8335c11d7a1f7a0..1b5c430c46bb03d815143a9c5a1e0fdb815bd861 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 f6bb2e5c72912f0433a4705ccea1840e26b27a29..f09bad3d908a6d964c5c0011fbfcdd0b3fc23409 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 a1dc1cb9cd74fd0c163ec8697cc79aba20693928..ea832a6c3d73ce62a6eaa52cec581df3d4baf150 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 b55c423a4989233d3e38aeba8ff0d3c6cd5144ae..e902ce47548b067f7778b6692ca4a66324c15922 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 624ecd58e145fde041e417e1deb3ba56f6bd9201..bec642bf1819b11b894b3bb40658efb12c9b3ad8 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 5dbf4ba8dc36a51d4323d922f00c7795a1be54ec..2f37069c407b7e329ebfeb26cb5e93fafcc020a0 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 5dd985672591e84db6bdda2dd105d02e55d1ee8f..ff93ad879495bc982ae01a2b558004991429cbfa 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 4aecc6c5ed2ed114300d5bc863838b044c19b90d..fa49e34597dfea334a9d45a93d13949e4a0e9ce3 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 775e228348ea80728e88f6cab55f9a76080dc808..6545c2ebac8e71174d865c6260b617c2e4e820c3 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 c1389949db20fa5148e30449d96937f5f77d5b3c..43a91db544ab8d9afff1ab2095fe4d5a2b8dbc74 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 13190180a7173bee86f2eced25e414a052bf718b..60d5ddae9cf8abe045be64d697c7e9d7087a39f8 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 ac7f9ce80fdd5de3113578f59e5478e837c5d1f2..215ee542e5c4667ba9d4cfbe3d8dbe9fb2d9ccc1 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 09d7531f1746729ef2fdc1e9d0bfb022fac0372d..3d8aa9e38e32177a3f74819d9c87f17d5a46521a 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 540a5dbfea451526f8bce2dd72e4abd6437c6346..518a7b9b21cfa6d0b0e9975a3b35b404a60a5e6c 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 3e492f7254a8ead529eba61357afbde03e3bb8a6..c04fd43fc21f88aadc3a14d9cbddcb743d196423 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 4dcf91ce3a8455f24be33265e5bdb04d44293591..783b632dc1f4e61e759a1b04a01b6acfc4d8a458 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 bf12dd9fb1bbbe54f4cbb3d37787ef167b2d5201..f1f4157afae9c6395678e3d07dd895686bfdd6f2 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 c96edd903c9a1762e2a30298363aadaf82cba6a8..e58c88d741b4bcf4dad0b2084cd09dacbc5eb9be 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 76d7f97649e7742802211370d7de45fd22e27458..8105cdf647d49af80de6930070ddabeeb7d26016 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 18e04ecd70a98a85d4092e0c1f28dd78e57ac7bb..bc1a1728659b87d424224d64dd01915417d7861f 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 f131b4745c0b973b5383552ba923485627647e9d..06e47cad2a076241c272dd077f4d53dea00b8da5 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 997e918858b1bfa3716403a5d3b46123cde5d133..220994cbaa840979224b7659f4a0721810e71f91 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 c99419bc1d1f9a7f75454241056af100b2fd4a9d..c904d9932543c6c831cddb49c33645d3c97f4def 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 c6b663a5bea85b110e0a85c691fb22b0e35e16b0..3cc1dbae25bbd101fdf7adcb3d20c22ace3b2145 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 107ba897b54653f34da86c9d10809ddebf734c2a..6684b309e2984204fd06048ac07de9d2018aba39 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 99e6778023d92b07a0c05be4444acaef2e8db0ac..f275a1c7b06369cd05402add9ebb754425029e08 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 bf5e2eee0240b4d08dab06a16530f03ea0c0af14..fcb5a933010aa84d29a45634595e8fc34d3aee6e 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 c196330bd4ecc34bfdebf23e2bc4f1b418bc9f69..7df1b475305b0ae6d3cde5d10d49956f55f2f43c 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 1800bc13567b21a7ab5f74848ea1f51e7f75754c..ec74a9b20f5a3af8e9c945155383234524e2308d 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 e8107d3481105f01086d1e220be84a28ebf26765..74bafafa50ae27be4d5b6a667f621c028dc0f1e4 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 6f28df21b5561d36d9803ecfbb52c8c8fe521731..bfb905900b166017fac496d538232c48cab5fea8 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 520a56d51325b8d8c23f4bdd222dcfd90c84c454..a0f7be42d5de373a0cc8a44f5d01bf174187616e 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 5ecb5ca07f7ecd552fbfd9346e574bc5ee4cb766..31642a50604c435ace21aa83181e43e61d156eaa 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 83250656f43ab9007034741ef6ec37d8b18345aa..663e45298ef4130496ac9290e509f6d63bd804f3 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 7b6d83f5bc07be8a4cb707beaa5b82f0cdc59146..084c8ec5ef3582bfc15cb0c6c8b4adf1791f101d 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 a2a00db6e6f120b6021876a32e392282d59d7e30..5463a136cde9bb9161880d8f0821b5dfd304bc46 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 bdbea0272963da3b834803ae10e431a0daa59fc4..dc77e5d154e1ef0ca18fbabaebe0114de02993c4 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 631dacbe0c2de208b029ac37d9caf092af32077c..266eea6bd887a6c410b91f7b9b9e6597cfe09d5e 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 535732b68c972ee63cd677a28f0e8f91775c9a94..831017bc9fbda40356cb24c7c37e5ad84b9a92e1 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 64ec6ef3f78536ae328a5e2d3232eca0fbcb4597..6c9ee6d3510dcff8b2d3c55d22ccee9fa2396b50 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 176091f843e569e9ecc17b193d0545b66df2cfbf..168d3b43022e44fe573e1d7341debff8e6d27e7c 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 26cc0884d131833726a28c6a9f571bc22b32395f..48b6a2b8ef093e7a7f1d28096e1bd71d1f32ef81 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 274f533d71240fe34884055caf484df0a6f84fba..35ce5af00c5d928d4f254f41ddc7539ee257fcde 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 2eed1567b228b03558887efcde246826b0515e33..6cca4b32dc2be6119fbfa5067a6a0bab1ea0d5bf 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 24199856556dc2f0e60d4fa209d018dc7ad673fd..a4a4c5c8f0705ba05328aece68ed120f7d11920e 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 e2b4c2d7f590e784e719a23f027b819d2f2939e9..9076c1baf34c854b6f8eef9ad830be652c1bdddd 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 d524bd69985d11c6b2b20253c5de5235fd8297a7..cc9b83f901f2cfa7888a8761d5ae5c8c9cf7cee1 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 13a8dd0c38ee667861bd7d59c6ffe8c4994db9ab..ed8efba155275919f2f7ddc3dbe1bb05a3c1d9c8 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 ceda03fadf86598617f07d80f02df2cd8f5e9685..d8263b6c0b6e0f0eb7ce769ef88f01b09f190bfa 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 88d53d3dea46b480863b361d40dcdc533cb66641..60622e0d751dcc63c13b3c743feb5110b5f53e7d 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 5b728cd3018920b9155744612ec7a16686a77d8d..ce38bb4abad04618fef44a1d80ee765073570e07 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 437fc6795e902e820aabaacbaf653736b32aba3a..1d8ad54200ac8705328fc920f900c3a3a4d714c9 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 0c58249a7f1ce41e25d3ef7010b90ee0abe6fc12..b8984761fd08d810213feab451057a89e98631fe 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 0353a3ca5d95e7928037cdd8c3ec8b082c3619a9..4aaba716cfe64360eb1433cc01b35025ffaff069 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 733e612633d9761d462e92afe299b455343afd9b..309211ecfda0688969c24f85e49fef422c1796b4 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 454366358e4ca59b239131e7586fb7fb0c2f3909..583caea7db6d47df00b3734207e647955fc571b1 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 958c78c018b7315a9c70dc27f664c695bc6a88a7..d7aea62dad0838059ba82b95e8627f139167dd16 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 64982bc38d51e028852e4e3052f3700cf4c467fb..d6f83ec41e14522267a9bd5c415ee25e3717f660 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 6f61be15788de0c2eef9c61a036b32e79e764b53..2f292c28a5b9966fdf6dc0bbd07519f310c259c0 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 9fef45aca27a46cc69656f28d8696e37f17438a3..0e34f7ccad642061a6e0108f4152eebb94506279 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 c8fc859e5afa7f873be9f884909efda855ef8f1d..83f920a0addb1734a038aa6fe3c2dc9ef951092a 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 c29a9d01fecbc13a76d61f9b8b00ad6504dea22e..991473557880a77983076d88a7cea2146e5d156c 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 69dee69bac45223161ed7cfafa7f3d6d3ce6c70e..36262955fc6414fa2ec5466767709f914cfceac5 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 329649e3fae57c1d602724cea90bd548a94dcb47..a7194fc4a307f1e4a50b64e9dad4180dcc7f99a2 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 c18f5effaf6b9ea728288a5b0df9279d1f2388fb..7a769d2aedc8aab8470967b42074bba8bf9f0f98 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 6756285d0fb9971bf40bf86a3197c881f631b1a4..0b7345366b96ab0bb4990cb477d13231d4746c4b 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 44e6bedfd83185660909e864b8dc2346b5d2db92..1218a844f8f030c7f35af9df213bd0f39313ec98 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 249462feb0e7b7d31b0732f1e4a2d219e95daa19..b0ef3c72550f0ecfd464ef9bba9b885d89482ed9 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 4e7c997a45061161ac717a6358357da90d27fda1..c405b5641cee442fa8147c2ac326535406c32d57 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 0b99037d6ea4b2238e4aee08e2d52b28d73674f9..a037cba0d4081f04290be3e6489eedade57d6164 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 0259e7e71dac5106f526db843fc220a2a2276515..bc31661f4bfc7884195d27f7c906c79f5b815083 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 488cfa5582959909392ee440796ae4bc6299ec7d..7e5b5b723224877ff56cb507ab9301f614cfa43f 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 82fd77364136d4ca9d44b4ad27240aaa47dbc0fb..ac75224aac9d0ca9f90ff0342c7ea1c7fee3ff42 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 25c40eab8a1fa2838636c4d3d1a6eb6e3687a9ca..4992716aea34fd8664f3585a97ad6e80e9eb2705 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 6ed953785d60221b34d4a688d3e4c9906a8f6340..6bdcd0dbea543cc9f01dcec9c73d5d14d52c0d88 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 ecd770a9c60785e0bb48f646ffa44981db6cb1d4..511f65b10e936cac401fa8520df05b6d283c14ac 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 a861f05384a6f83645b96135d8da6ed31a030066..4000c0814b38958624daa9048349ef7d845b5662 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 ee54ba00b75058570545206addfd1ca5eca4a42d..7e4edd01249751b8b6f9fd8701ed75d6058b8cd0 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 1f7a30346e7b3bfcdb458b49142c688772135989..c80f89de77977953d30f36f28c35513b6331fb09 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 2e87cfbc491b222a048c46b15130420843767b0c..ff3b450cebca9c37c361367046eaf657f4452d66 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 1ec371d9709fffc7b28d12aba9b49742e412a57b..95a3fdd82c4e224ea009aa733ed27a421fde601c 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 b6ae7d48a3d7d786b8c40486785e61d56e81cc4f..70a578ec61070022a023bf6b107ea2c1ec329c66 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 524d4febb6022fa4139fb4ed4d399d87dcbe0800..2fdb0f34d1ac3ba474167090254c09fccf90ac0c 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 59370c6613c936bbfe7697ff339e6e748b28e17d..8532c3bcb9dd9620b66fda6bd99fbfdbfc43cc99 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 73b571e110b8dd4e066e95076f3e1b1bf9f1755a..3bc3ce497673e27c5a219a4847101975e143aacb 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 442e5167c6b25096eb4221c128bdf5d4679153bb..983474b439f81eb35a8f4336ff6ca78f924ffba0 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 a72cd3e08c535eb5bc8b059b24ab82935be85bd8..49caa2e90f035367d5e46adbc4dacd8820bc8fc0 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 6bdfa813b75e2b74b0523b511537465af2c669f3..50a90eb3612ba42797615986ba725ce6c48486cf 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 9ca15be09c4cc98a70fd9c1bd9ba4359708fca16..a666df9e4eba14ba020dedeeb1918d74790d872f 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 48bc161664f0e8f561b558a9c1f84416bb847c76..1e5dc30bac253367637de9287d5b5ba1c620a8c5 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 36b93d08fe426284c58064d62937b1dfd8b90f54..e4c5961ee55a86b8e0222ac7586d0f5dba63f43e 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 ac6ccfcef58ab0107953068808002bf3082a4ae0..7374c344757daffaac1f18f36008510234eb8e45 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 b297cd6e2f1337ea6f52c5135d7a361a3055c1f5..6f742ed84c5aa9391d2923a9f5e1537f80b526b8 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 0367ddb97719fb7b86e4ab478736528272e7805b..b0905dcc45ce8b7e2f7ab2629137b52e8668acc1 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 e015958dcf7b0b22c220f1aebeab14946af5d52e..5171d83a0de56165a8e58e6fab311efe19c308cd 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 2dbeeb50cbe0ceaee9c89ceb6dfa6972ed1bfc8d..757de7457e052327b02f99a1dd9d68b473e26ff5 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 29f2608199d3f47789a16de4618b549adc8f84ed..64a1dc8507bd3484143f9acbfd6c75915a80f05f 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 212fbcfd91c6a1e3904acf775a278096d6473427..1f76e94421364181b540f955668abe6dd939973b 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 92d54f45770b7d462f5a931e617283b14abd24a3..f241c6a9f7894133929bd01dfc15185fbdd41fd9 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 20b6857f5345c11533bbe2580b9851fb4729aff8..2a86cf11800de03bd034fb505197f752c2961f50 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 267e740bdf76447964cce604dbed481257437af6..c8c20d264d683160e275c3a234e9c42ba3509cbf 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 72d81abd6bc419330f9aae85474d74ffd5be50d2..48c2c3d441e132531315c91853a9834ee99cc6b2 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 bd9036afcf7493dee109ed2157bd1f6997400796..7d447df4a9bace35f267a0a2efc4ae06fc81f427 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 653edd7e4b3ef3f5e40fe94c69ef530749efa54b..37704f364f6164ffe28df5f44bf44e466cd4ea1c 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 908be21befa708417d1bb45586386e5067c004ff..e5a1ad7c6037b6117161f9549eb174e90d559c8f 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 30d3ba7bf3c68462e6e40ca7b689ff4d62e09039..f0c49fa226d9b32171058700f5efec7477a6fb84 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 e6608f35d1a8f8812130e5b81f9b9c1c8ebbbdb5..1875ba7e55340f6839e59318ede64d07037a7bce 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 364b9021797062e83396a1780c96d3ccd0a2b1b1..1220054e28a105df07582521d1034282ce7a5289 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 f2b89323ce3c0806da578918aa6d8d53a051e747..bdd763a7e97255c994b002d67b0df95d1726f161 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 2e19a6785b1ee35172d33f279033852a1d57b6d4..de75be7d90f13c84c81512b7223a52a072f061a3 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 d371eb17ed3ca580a001ff85178f97513438d415..6f3a73a1cf32d5980ca2aaf55f3ad5286b1af521 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 b0391ff5b2853851cd7d9324ec3e268247527b1f..645d589a412aeedaa11736a9db0bf543b6b1a7ff 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 e777265ae5529e7ac31069dc560097ec1fba2194..11f231d89a546f434fa0e8d7e6ec8f0c57f33fbf 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 e2e14f03ec6c14694713480e586cbbb0ba97d26a..8eafa7b7654a42c31c1cd2840dbd37ae28573438 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 5d50565282f6952dd711f034227d9c2062a04eb5..e099d7fea17b753056e5923713624e7e81acac95 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 368c2d7485e98eb2c99a99fc03eb6d963924e8f8..5808bb30d31bdc318d7f534d62cca458d9b88b31 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 59f5bb95df041188e29c97e7bfdc5545e3158082..1285c68e5a8d997ba28b98062844b8a1b48840df 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 11eb28e2d28a9503171d53b8ac6537930246a244..f4557de2dda369f78b48c6979adc3d8b42187afe 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 e44fa1c26eaf60edb0a7379fac4df5b3ce2bebeb..99a8a39987f7861a932a72b38522e3efa06d060b 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 1782fc9889ccce128d9603c68aeb4d52773e9b2c..17ec2a1b245c4cc070f76edb5ff2f81b4a649537 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 4454f33e9ebfae6408adc37aed6f8da29132081e..f6e22670873ee508c08f4723eb534457da82dbc6 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 d59783d95832edf1d51222f277e6ee88cb738f02..6639a353ef5db7dc6e21f37f5419addbb1b49167 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 eab2f50dc38d8c36493ee10f6c779ee191274be6..c7de001bb1bb1137ff694e7b9b954594ca5dd942 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 ca9acefcc7e2e337a1c3809eeb455d04806d058b..c3d5f330262a2e8fb6869ef6205b8f40ea4bb0c3 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 fbfd202e68b249c81d79825f7e9238a63c0924f1..94d418c7995d4e46bc3a0f0f1892ea1bf67ad0ca 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 76175c73f67bf7ce4ec7ebf20be56465f3d599e0..ca1c59189d30c46ef3244cb415240aabb0f90378 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 db29e13771c19ae3d9d8da6d8598bbfcc776057f..ece3ffd077d98e51977534b4e3f32ceb4179da88 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 e85b438b9cf9b8e7b4a7deb0ac36a48cbf49efff..5a0bd1dd0cb9092ebe3460611ba3bed4fe49449c 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 f4934ece28fd0a048f9bf39b2128440399e6419d..7e709554c95328043d468dd51e59844b7b5abc43 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 f3ff703fe5ee1d5fced1db5106092269435f29dd..801e1e0394e79a93e336762b1682392e2f8d45d6 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 d7882d06bb73001b1f701b9d924ab3b15d0f53c1..9069a0590b088a90aa8debea67bdcdd95e7ff27d 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 691ac52a2baa62947655d3c644c4eca98c08554e..3c232d06f07d08ec54742c42aa2dedd0d9eb5744 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 1bbf5380a14f68695332840aa585379475ddc62d..081190fe6f4973b04c1ae3dca98e1b0c94722861 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 3de9488e905dd202a4fde952f58bcbfaa102b641..632a041e4e583a07263fca0ec161336904d5d877 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 299e68d29bd6b8c875d588c4385dd7eae86e6edc..3655bded4aeb33e18673a069dbf365a47f773a09 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 a71057cf95396a992da6693cd48b4b0fe68fb9e7..82344e72187ecb0478772abad0a1557ef703faca 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 6c2fbcf1b19677823a315447cdfc5d46e9b5ebf5..df144936533aeeed7f3936916ce81414e36a33ed 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 1531d5c3312309aa28b2754f507de1a97b5c4679..2f6c505297554f1457a02cf70f2295fe851db552 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 1abeb6e4d1c70dcb00760070354e64bb2daf8a6a..2958702dd3d15784748e45b8ccce07d8d4a4c09d 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 885f334222a40b69752065409e8f3b4fbe0b23d1..834a8aeef13cc1df7ee3bcc3739f669059375e46 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 15eb103d84bee174da22c5e651b9de83163e4b97..ec6e3d4495917474da7d33d3ad22ed399cc9974f 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 6a21eb5321d4557eed3e09168dcafe2eea43562f..95740e46fe83b6d083232a91f75495be4c81d006 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 fcc7795226d1994aca465893fce85465af2fcce1..d78968fe4825bf31b5519ea9c6e3c5a7045a3514 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 c27882cabc2bb083c2ee953059f23a0ff0c6f9e9..4916ae5b4a8cb2b71e08eebddbc2e9dade0d1ccb 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 55fb98efed00955e9f2690764b462808deed91a8..980bbc293cc22159ec59db8e8f07e7f20e0c3fc3 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 38b224a06074deb1fa1aa4df6ac54949102e19d7..5aabff0a3e5a65d018a7525349b6875ef1dbe67f 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 a00248f676f7a7f4129e9e9ffec90dc838860aec..012476975fdf1fa4aaead563465fc6da59a8970b 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 c699d0f4de1b54e022040ae1496d1b98eb8090f8..2a0d7570f53f3d7cc4301ac3c696a474e3e7ae7f 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 dd93f01f6f434d5456717c66126408b64c025c19..c943a6dac9d0d3acc33dbf2ac44c455b7d502a48 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 1a4f930cb09c030902bfe38b3b42f68d0dab2ee8..c3abef03c901acc04331111bd8aa93b2e69db514 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 50fd004834c55bdfc21856fe66750f729bd5b8f8..09264b2e29190980f063bcf407d594554fc6bee7 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 d389fdcdbf28f55c2d84ea23fc8beab8be76cc6e..0bdd8b29965dfd1be9e036a01ae286f27c3e1c21 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 5c00b43f5e641400cb57dbbb89eb8c38ed9dde10..c0a877c2646d34413065872f0e46150b53b4ece8 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 a0d41b4bb826360c2c6d7c3db893da8c3c3c3c7f..dcdcce0f3db6800b0c06a06d7c0131e5d56f2678 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 30eb7939349196b2d173f00bf12fe5cb670f77ef..012323e0938db7b9072821ed249e855ea308b078 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 d8143cb01fbd773db0bbcff8e862fc2beef27afe..c1dd266a7b47acf218693f259d2091a89f96efa0 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 76e194b0acb82af9730b45023a3d3039c8f61486..55cb9ca78b7045f522286550be944046edcafc33 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 6a9e8749d86ee58e0b2f890f4b82e0e221b42c71..f3de03b916e6e60b9ce5ec85957d7087b38ceeef 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 8e74c5d4397d84c128157423b42ae5897e33978f..aef519ccdefbeb6f26a9e5165ce9714895eb2240 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 db7ff73e8c1b0415879a0523fc1e755f259f8617..5ad504bb38ef4d69deff9df59075cb1cab9ebaab 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 11e517fdff344f2ead413525f5bfff7e2887b139..f517c2a91c23b4a73f1047c27ae8ccab73a58742 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 0d10578b3f8b55e8d6e04cdd81246be0928136f2..171ea7f1b560c36b9fb5e4bc7665bbcdc1463a6c 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 616f36b50356fc0354a90be830d01dca2891b5d5..7494f3cafb4183f2ed78293bc2b9a6f57f9145d0 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 c415a8cc55c59115b4c46d509efd12d02df1c11e..73f1ba8d1dd1f7e2fa6c70d33f7545551964bc2a 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 0f6739e5bcca6fe9fe4cf89fd0c5c5c99a4d2df3..862a29166de12c53df387b01d6e69ca1adfb209c 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 40ee28d55506c49cc30d9a27d0b1c08593fde077..b19190b23143b09a0a542f7504b25a5f81305a85 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 b82f7f55725796e5a83c630f61be913ae3052998..a7a46c0e744c1652a29bbfb900911e85efb38ae4 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 4a8b118cd80c0c11e2250b8e2de6e338fe6bd236..75ad34df20cb8f92be5ab997f62e76ceee697f98 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 e2843fad54dc9eb30522ae04d8092e4c54176940..164c6a8bbf9b9ea5fb2914a08ee1480c1af06257 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 c7a9fc9c7e98dbb2249d2476b063a4ff11df1fea..b22e0aa10f08449dedb4716a8b42e103f56025a9 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 6c1b5c6d6ed78308630dd75505efd8a0a38f6d66..d6864be303715cba736d4364e106c4e1549f0285 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 eee624c8826be40d8d1f01d4c1a2cfa596a34b2f..5b034e0c6dd6e2ddac6cd3b3f0091c7cc040083d 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 2dc672e2deeab6a5dfaeb5df70984b8d5457b438..d7fb64a640af7d2621abb3481cba06231dd1ce0a 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 71e688fcc74edc246cec184f8359c0006da5553e..c19f9921a5caced5819ba43d096475dd4254938d 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 ffb32ee687efb3cf0b013a7a245c213855247922..6339525438cf9e3302754bc8732ab88ac5800bbe 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 6d1b2461a5ff8ccc5a5b44b5de8fe81cd84539a7..25a3ddfb97c6b467f8609e20d326dfaf9adc831f 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 8482fb438cb5a73ccd157b1b32434f5b5b938fe6..7e3cf0a155faaa0242522f63bc3f1b462ed59db6 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 ed24a044273c64bdd3da51acd0d7ddbafe816507..b5b61c7af7ec5430f69b058389c337df9336a803 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 8e4b02dbdb392f56d6f107382087157b6c09c881..79187dcd6171b19c12307c0d9e09750f05588659 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 31af5c3c7ead4ae95216cdd163107a7f6f9d2d55..dffcd12dc076b56fbfd172dd0770deb652805edf 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 f4a0d32bb8e831171d14feed12524300d819824f..44c953686d5253cee9eb67bcd7039a5fb493d8dc 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 6c841007fd24de4324e488c521d7a838bf9e9c60..4a3faa6c4a564d72c8ef9fb26de5390149ef67b7 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 43b5c5276c610a83501b12b170c6a1684e3df868..b137c34d78d3ec16d0fe086e8a5743fc58fc6b4e 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 22e5f1fdb4e6ec2f09dd53f9aba0d2327fe93d75..93ef3e90b4683f089ff4eba8775962d94e3b1682 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 f860ad6926a5fe24295bdd2138b76bbdb8437d9e..8e9f33fa88f86ab2f28929447df8a805a0b05888 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 eaf27c907a57ba4234a3dc115694547c94b8a6db..4cbbb22620544cf3d07fc0525599e6ee27f33f3d 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 53625ffc80bb4a9c7974dbf5cdbdc92f12c9a4c6..d5775b8ef5ad3275671c6c4140852430f067213c 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 379a32a9a4faa722baa65ce0848db8d3422e4300..22e101bf2e89842da7b46fea2df5b420cb6e8fed 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 8daff9aef01b6684ea8542b75c7cacb46168e372..e5265e2656a3d1f3adec6698c620dd83adec1376 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 ab71489221e871ef833b4fc6a34c168ff654870c..1a3d16a443d88587fabe30ddb4c0d9e4b2172c29 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 7a7a444dcbe3308d8118f5a5bbb4d02c46e6beda..abb7519ab5bf6c275aebfe017c46f94854e954cb 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 3ac4d757e8810a772c6d96f16a0f1243e21c548c..163c317b1be1660b6d28bb21ca02fde80c8588b1 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 e80f013b113c0a0e81a63e464c625ac89dd5a9c7..449859f170359032d3bf326bd19e0fd21f2749ad 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 a4a350df9397fc5ad4a56adec81cdac0c4eefda2..846ff85f2a8edad915a204f848071c19896a6f35 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 6f8227086db15efbd30d223839789b5ce2ef2567..1b9d449b48b12dfd169f4c4c7b72b7b3a68e635a 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 78d152a4616c1116d415d37d92d19d0527f421ea..aece9c1912102c5fd61a17da714fc1f0511226a0 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 3a4dd4e3cda08ee3376d3bb638fe0ff5adf426ec..8216040738e474c3c698de6b1d1528a2242d8d6d 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 91f0027ed4d3f54c446e717884f2d8fb16fcf2cd..fdfaa225347023e09cb954ccf6b14138e1b6d95f 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 0eee7d1700c3643aa8859e93dca1648995754813..2c8d30676cbf79868dc207a3e26e6ea77ba23db0 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 de5ff029aadac50b4930ab0d44b85ef393f9cf12..fd6b05da88cd4a5b5fbef66a0771eb3477b3c134 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 d1da9efd487196b029c5c01e9609a794a7e5810b..bebc9902277bb8ee4bcd1d0596c190fd1bdf908d 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 7cff17d44e722cd53ec77d9625bdeea509ef9209..7229646a633f8acbdc287ad4e8723d4ea5ef9c27 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 d84f01e6c196191252a973f7543215b99e9ad4ed..5da64062b386929fcf96e8258c9bf80dfe133a96 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 7ad190f8233044cc3902c92fa174f9686a334dac..814032095747bbd1740af71358fb4808dbddf771 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 7554f6d32250304ce416e931b2e79c75e5fdf6e6..7b01a2818e766df2b408c4677fdb6966dfbce9cd 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 4493601d7a85c4792ddf066d01592a89635cf6df..5b6439652442c55a62bf3e2d6052b11cfce19907 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 2bd980ec6705be5c36f64c94d4aa3548ece65906..059ff52822ab4a450bed717535d48a27c5a8421c 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 6af082e175195c204aa3e3d01ad9c7c4798b2c02..99ee53c802301cbb711c596033d9e744fa91e132 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 e5765f9c6cf4b0e22c9b87e9fe7e1d556f5925fb..d920c17a0b45b0ece5c8cb215d622b074e5b469f 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 21023d8de0939f9cf6a81b8a7f26281825d06e92..59f769a6aa4f590067a5fe4100b00ec4c6cc47e4 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 7b766799672ca39362785a426e8ab5de5f4d4d10..1d15dbe5904d857c20ae13834c30ec700110d2e3 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 3a58fdedc6b236dbcc089cba557a922874eebba7..e162056e94cfd1bdcde6915fea36ca437bd4d68a 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 7cf11e4fc7888265ac7526cfdb6fd1c680d76b32..cbf5724187fed235fdbaf413d000de28b87dc45c 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 baf7dffaccdd9d8e1fef018f21982c71bae0ee76..d52c909a6bf1eab8487207baa851e14147e5bb47 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 c28a88193a1e1daf8a249ba0f9eefa9d4f72990b..1af1bf920944a1ba992f950565ce01db7e87640a 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 00053ff7d8becbc7cd906ed797c42c4f564a2b63..f68b60943005aac300ca615a3bef6717e62ce034 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 312d2541a70c56ae8d41630d0fee03fc783ccc1f..cd608b3c5984c845c8828a404423005cdc4c4432 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 70e8d5d40bebd1c37a7bc2197c976edebad9864c..586beefe217db24810850ea90b075ffc3246e718 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 1923b38ecf783192aa324229ded25f12882efc0d..b3fcf81a03ce80754b25ab89ec74f921f1b2b6ce 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 803e0ff376c3e587a11cf39c3247454021b90b00..7d7fb3c0bbb99bc4a7c731e7cb108dd4cb442020 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 9cc2dfe7e70590f306367a4268302451beb5fb83..7ad94469e3dead93729779f7032f0aa61210122d 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 7644ecea6cccdcb530c5241177881ab78e836930..79571facdeaac093e751a270f4a2f697486cdf30 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 fdbe001c381540ca649fa1ba6c53934dcf6c17ac..a7df4d933685e1b445d1f8e624b27c90c838c89a 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 bf4980bcf940ba7776c88c4d34ba72c8b1b57b17..bad36da73ffe8b07120253871b0d4bce090cd3c0 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 f0a6df86c6dbb1a61043c2f0e8d995315530d130..d61a5386db35b038dba74e96b811b397ee443e30 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 2e6fb048827d25bde6edc28f6e73df1127a20733..510b7d18fa59024da0d1d287494eda1dcecbf7a4 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 85bb52667bb3c619f0154c4474f51488ceaf4ec9..ad7d64df2264b2820481bd4ae2740050a8c395bd 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 dcc28dd2739ec2ef5c89e5097e4bc3e8be03a614..8db6f6d5a39bc4930a7e6b4c220207abdfb1a840 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 c7b53467ddbb3f0ddf68a5231538197b7082133d..665dcc1bb27b5ece8f0825e1f8d303b130d004f1 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 b6e6519197c60e7a1364d68a5a16601fd8166527..19e6d8b53b3e82308f5b2e2454513c4dfa168570 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 e6a7da0e71038ac37e21c5b7808a3540b02e5646..fa08f87b6112062896258f54d8aa95d06d560376 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 14fe08f84e21edeba755a747cbbd6bf25450ea52..4de253bc93807b00423e49277e41b169061e7573 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 615611dd8e17a134aa7382bf548928f5ff202126..c8ef6b4b689d40fa1c3d63ef9303a06b9d41ba6d 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 397c36a056cd2452a7f902548b491caec724fba9..4d808ae6e14ae4a7f93511be570a7281c26350a4 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 a897da3a331521b8fcfdc70de23191b537253e01..d42ec668dc54bf2f948a6d3d97b1abe33b5edd58 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 fa9d8716061ee7888904809b5c7130150dbb030f..a53a78a7a68ec752acd28959263bab82f564bcf6 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 efd6f6522b4f79cbf47548244f335838cd9341ed..83e3be8f05b6cd14964adf882ec732e9cce374a3 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 0f490c0470a915501214b6c9692e013a3291b1c6..9a27cf071fdb4d3d721c1fbedd32d95a67d81910 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 ebf05530aed2cc5de4dc7dce42effe7f4cee5325..88acf484707b12fee91650303e37f572db65f800 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 9da63e17b71796a878b8c2e6ed70b6ca7bf16490..be9b2053b581532f1009a5235deb87d40a203d43 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 71d690a726874a42a161b7425aa8d8962191dc6b..297f8fcff702fdb4ee986016eb6e52fb77f0c1a1 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 b2c007fa6056aff12d522e9498c83bd4d6792cb2..7cb91690fef065c75fb7288c27639b4f533a2c52 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 6e22bbabf25e7e52bf4ff2443632295b01a73e65..18ad54632a62d598ec1e1c48e45c5bce4878d499 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 cf7e4e47def40cb9e5d21d6d94c352d5c389107b..1e2211ef5b06443c1c2c2b9e9ebcff22a5d8c4db 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 f33bebe526af2a788bdf252d6b8c44af1676eb3a..43d127bfa85edab34c2e5915b0737d9fc8a04901 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 54d1d873c312075f3a98040324cf73225303b1ff..0f1dbfe88dbdaf296ccca4e1c166bdaf45f1c3c8 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 10c46d5489a9849e24fe2df0631302c39478e1ff..0c0f8a5e2eb8979395945cb4065befcccf1bead8 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 7ec696107c3f16abfb987910c4b672f3d3217f48..ffd33f4fb6f05981f488d2982ec99183999cb63e 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 4bf9f54f1df37afcd7eb52bd62b18da3b69d106f..8357ea444cdaa542a1548aaf1bd23d88fcfa5b55 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 0e6abf1c21c34f4755213617f6763569cb2a1227..fdaf178482310331e83521fbf092f01a0e85a03b 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 7182443cdb7a7b605a3c78ca8a317f4e02e159b6..af41deb876b45b0e95f9cfbd8a2b60383a96e36d 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 6b925df3c1280e0a8190b80d9a3f52b89c6fbfc8..0957965574be59e492e7c226d40c2460bacb3654 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 56bc3d2904989805c30b5a2d6a5e8123fbac27c4..8d7587d87fe28940e890927fd208fca7590f3585 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 f14e986ea4a20c51d4a3ea6b06354d0055e7444f..a296b588aecda515593226611868a6130180b789 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 aa4373154a34b38332babeee30ef2a46848ac5c5..7a02c55dcdfc418f6fa27bf9ea891009381e727b 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 cb77ea0fceb74fb66b4fd4c6f33b69469f6234a6..8f226907707862c31fa3525c7ee8b4939469acff 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 3fa76ab09d8fb2385601c9c90a5d9561b16143d9..4d2caa22b3566786ec3e54c26dac6cf04643f3b0 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 ef21bf6ec8e29757686a3b46ec18f3dc4e5f3e51..f01ed97ecf71c7d5afb974947ef8a75f430a065f 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 290f322c7eab3a785320a2f5642000afbf24f5c9..34deb22df9799e3c013213f815aa9b52de8dc52e 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 b831991e10bfd8a093df5c3773ed5532d0061bbd..25852a572970decc6675002915e0d3216718cc29 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 b8232b65294162ba8b76839a13fbd8235c2d5362..ca9c4de2d44d8a1fef61cd0d9e05d61b4e2aa845 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 1629caad95bc6d5db50d3eb138e7fedb9bce70b7..945415800226a07c9e6707af2c0b1a72c0f674e4 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 898f92414b1e4af329f6e2c1bc9f76058cdfa07f..dad4422349fa1ac0625d10e1679476d7bcc4bca6 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 d3a12084f52fba41a2e9a9042e07510b08676ae4..04cf383e3f72b3c36463a5a780e3ce0ee830c3a4 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 330a278c794d469624542b277d6671f4d8ed48ae..c1024591bed65aa268d6937f77de8446dd2c4371 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 ab0285b05f9cf35d159cd0a8e621cc7f41597a43..0a9da8b32ef6c4de29b8e1c9bb8ceeed66296463 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 2a2641ff7e687c31acc37143527b8f41a73a3cca..59e1f7d09ad1507dc4bc9159e4201fc9963c2c78 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 2ec0d8a5da2048ec2d088e3e3e065b4882aa58e0..516388772ea994cf983e3521306c77af112ace8e 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 55e06d77fa3f2a8325dfc9bfaf5be788bc630251..59bff38439db274c1a1da2144bfe1854c006b7c4 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 00abed0589a5ef0fa4d6f4eff7699d6b42db812d..a4d966a3398759b33c3a1427c9ca84e78e99f691 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 c41f3a5c0d2f411100e133e14b2ea61d374b8919..81096781e6de23c80d3279bf14fb6796dec8ef41 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 cfa7d061a620b01a495767ba822875d152d95c3e..2939324b39914f1ce248a1b8ee8c9ee3ea441d93 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 8be61b7415cb96861a31fe57b615345f804c9937..17d134614759a80b451d9d6eada1fd91045cc129 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 e4e2c42e7dd47e088c68e32709d64bf043081092..93025aba4e6f5d93759337cc1f2a5cf8492ec5d0 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 6130871431589fbd3dcc8c6c6286f3d098cda8c4..f4625577158d70def398878180d9e5137539dcc9 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 2d8e9388faeb22a2ea52e266a668052c90406bbb..3cc32328590f0df74d08a8d5bc28d0477180cc13 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 b9467fa3cc31b09d87d84a26e10667f425bed37b..902a320fef685c9ceaf91c7a0976ae40196a32f4 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 cbcbbb9a101f469d1a93e8d279f908d5707a5540..681b089c8939623a71e66701f956caede04b4ba1 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 1be71d56688e267ae8e25ae5305913ca81c2a18e..3e9fdeab21d42e673d77a66eac80cbe93dfad845 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 20d9755c566755594498c49359d13c1ddc5c9f06..4d14f9c10b6ddc952c46cfbc98eced0c685f5b27 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 275abf72c33d0864ee151cc1a6d00b96b574c5cd..824bb5317d8b24e035954a3d3540c0619fd23779 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 221faa08a54fc115529b3f404dcdf1efaf3d78cb..b7e0918969658d85eb8fac18af1e66d932cc0620 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 13c933cea779248516f52c870dcf2ad814da42b3..40b4064fa99b74c487382c00e3b0f3e0a104baf1 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 636e8f226343fd515742acb6dab376d2e3d5b10a..eabf0e4a85ef4434e537d35f3d1d9b393f53e5d0 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 253afd47e839e83099dbb3ea73d04f56cb4df6e1..c699e95f2be8c86d7f26ec90aafb06eb09d293ea 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 c1929eb88170b6c4b021d827481f924674d7070f..dca8f2fe818ed2009fc07234fc8fc38aa31ae415 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 e6c85c5aa0ebf1b9ee821e34018c2d55d2c56b4b..3ae961e77fb05b987515d52852cd3955f67c3ffd 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 a81f6127a84df8153bf4647236eb063c5c7fef16..f6be303cd1fcf6b7db77a318f75bb4d03110cae6 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 7ba74e35f0172a52175c529fbb7404747620c2dc..06348ed9188160c5e4ac98e6d43027bdf4bdf353 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 b2697398c97c1b354d794185e30463bbad19abf2..092610c690f5222905c628f4b3e79eb99c175497 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 fe6a5441081438837558e63003d1416119905039..1cff21a3d504c18a4752465dfa09cdab1c0e7fdb 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 6e85c728e9043a636aa053b63af7100f78bcfd10..eb622677dbdb9a699781ef3a831b9dfc31ddb7d1 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 a18cfe03179ea2139cd4034a3cb9344c06249271..83c7defd3782df3e52557c1a047b1480f1ce5f1a 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 494d3fad4900e98fa4c2f8ab69cd26acaeced445..38bfb009824bec25ad05db900fa68c49045e49d0 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 b23a28eba22544789da8b7e59a88260ed1bb6cb8..e9592cd012fbefe19d610cebad5d6c3ea6e64e1c 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 4e0639acf6040e5739baf47add41120d5b1bf602..b92d828edc91dc42fddda639d82b757bb8c48ae7 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 8cec921f9df64d65eca2550558993e3198fc6836..05a4f45b608a72f7b69bc9a6fdf85d692c19b201 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 592ff21a45e96a25128b777926fbfff884782754..ae081820e23ff17bf959d4da509b54fff7e8529f 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 5aab96dd539fb7c8bda514dcca1a5127c6ef549d..b39dc10a666f8d767d3392073d74ef2dce18da44 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 e0c295e376675504b9280b2df4c0c39040aa8587..60772235ad2e67ac8679313295c145f70b19553e 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 e0e153b6fd9de66f1e93dd184cdf2b275b25c239..62a331fa2e545983e9bc66114e6ed4eb3f4f75e0 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 0d1916fd4bae6b38036305eed081eee505fb8a45..a66a58efe1c77e8866b751c9830f10c3136fc9b1 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 5f3657b9a6c7783420747a0ee835d43e308b54c0..2d3956d457d27c62dcf1e1a64745000cfa60e761 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 73e4db91ad03a62d6daac1f7d8a1484dece7dfe3..329a6b77135aefce0801de3f9169d50976d10552 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 7069811c10900afb37262b2e441900995dda4c15..392a311a165e1060bc0ba0429de8eb1d71cb3f22 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 fd971260f7b23a0a1348ea7f0a802f2877c53152..723abfc56cdeda6d739d8633541f5e25ccca77f9 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 50e1580f93913ec992f6baf79fd743f06f3a7d57..506107b378f2a4b857fe166b25a4ead4eda70a1b 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 a69bbe83e85462c0ea6d13c3ded15d1e164e34d4..a928c4010ed0eaa72cf2c18a1d7fd5d1da8cdfe0 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 3e45a8c9aa3e87cda4cd74c5d96202414088f232..65f27639917bbced558b14dcb39250f34f11211f 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 83f760b69d1352779e9fe4d0ec0df24df20d01c4..a359cf0e14f62f0a49d227a86124f9aabf27c8da 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 32cf1ecfd7e555c0421f7b7d5c4adc66947c93bd..671d301e2707035d21a8770027b07af494f2ff88 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 dd9bcfa2bfa8b340b7e276ab1014f3c925c16634..e0057162e32da57b7ae6edaf156205656d04b0fc 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 3608235ef4e81113435ffa3a936e0db3ab314f92..b32e62ddd4c9f75833a4a68cdd4d7cff7c909647 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 0254742043dca53c6f75b224c817a2b2114ce2f8..255116257a4113a3cc4bf73c85a03ca382199976 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 8ddab47b3462457f18007a77d0cf218becdb09d7..fd6e16146a844d78b589208ca232c5583526fd06 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 6def98a234f7e129387c1e905330c89fb1062f89..8806ab9f4f941afc0bfff10d26e9247fd20b1d86 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 6845893cb982f9ef659e8a38fbd4b9dcba687c28..eb7573dd3a26fc79a7c26a0aac59cc4bb52a73d2 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 6adc0415376100b5e20702a5b547917245b626e6..c7558b1cf73d9e11f343e566702c4eebfdb390a2 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 521a4b49bcdc0c87849a0f6452695e4b9084f301..eff10e287ee5bbf2816587580e76e2766cdaf6f4 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 f39e29efad026c02a1cf0923f11f9e5bc77f7b34..e328da98e4cc39635a87b6912a040e3b2b000af1 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 f046ab86e79ee372de5776e91655dea58da4ff0e..3362fe3fbb72149e20067cec17cf9607f43027db 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 12a44918b9e7aa63b1e85b6ae4e736a46a7d6474..0f216e98052bb64ebf92a2073e548d561955c46f 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 a2f22400cfebadf5307de285ccb491a7392c63ef..7158e65374276099f69a39684c1d904b4454c38c 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 71ff9a86101108f24a09e5ba0924991045578228..1d906e4c45928d8c5b4433379ed9a34973fd4e37 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 de730156ceff71335443804ed4e2b77f77187872..9b5dcc793762d6ad7b61db11594e4b0050074e96 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 fd6f5743d4ca4849287b24c51b53f671a990160d..3b5e4934552e0f4ae4752d9a0f1de6a46e92e3b6 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 1784de7c9cc38d80224c1b4dfcddb48e1b10db37..7eb0a22ef312fd250db16f442613bbde74c19993 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 1b8030f12983716d55a36af6d7f8bc6c1cbc8471..c71685f221f22e8b77ce9c7525adfcde194c18bf 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 529804b4c7c0b282512a6a1d542fd85509e924d3..d87cef05b8e8a883edabfeabf884e74d09332e8f 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 c8784507ae09842271c4b1b636e10826d02fbf37..4874c06533aff83e08e3150a6b8000edcad80303 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 af0930c3ae2dd1ca92f9e37d2257edb3eeacc51b..e2feaebbfd13ced586cec59441bcc6d5744080af 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 585efe4950936f321c429258a32438f58c3498f0..b7867e373622deba044f2cd3441ab2fd1c79c665 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 74d2a9bd5776f46bfecc006ec179b2d145082fe7..5eac7937bfe21dec7df255ff2e31a68b31234152 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 ebb7124846772f482fc313b9d53f2e7d4e446edd..8836a926d1ca5507256fa2b4ca5a9ba22cd9a673 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 4a6f3e38e2d806a6114806f2900919459c4c0112..648d0b7d0d60ef5c3ec982ca3c66aa2d12e2bf71 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 b02fecc1957fcf1c98b191583b59b3150a66f76a..027c0cec32a563588d86781c568a0b924ed4d897 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 37312db44399d66fe4779e5f6bf5a3ae79f57859..6ff29b8fdbe74386c33436b210905c8ea083e775 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 a912de43057dcfee0bcfa5b1e66c3ad6a200bb66..d2914444860901c683a11c3d30ca562c1ea0be5e 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 cc63cfb388a739d0c1b5d75582ef81c0c0b61203..c9807d521d86e5a3e0a8eb80ba2552da38888748 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 9a6bc4c158d2117b78e81659b42a6079ff2ea756..b2c253250446d958c61ef28a955360cfc07f170d 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 5787f572e86b129fcbe41c70e7e53db2a9777aa9..171d67754be798f97760955978f8957462c11839 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 d4b5fec0203dbc52c19ae583e75a57646eb6caed..0a085f3c88d4c8b579c3e696ebc2f6056e0a0afb 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 0c99a3539817445c74b2341530e00a932dd6dc32..45c3987abd5f7b9cc917e1903ee56adceecc0d2c 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 af75d9101209023e8749e8859129c203059c6325..a2cd9b7f2b2ff02cbb4da5afd906f03f8991c2d6 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 42e3a0546b4d5cbbf95dc0fc8ae2c7a0c34bbbe9..781de57c910e6eca21f1e9dbf0024f342971dc6a 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 2cba7b90e0d66432aef15afb109d8dd48f955af7..7d1480e1c9b4e2129cce8dcffc440f1b7d7f7e3c 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 9aeb3d05e6f703092988f7eff851887106365cca..981727eb75805847c544a025583a401d15fe0eb1 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 4cb7e777b4f7c5fe492368637b2f7216102fecc8..beafd093e9422b92d94f5c211f2dfe147ab84781 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 5c3c584483bc17764299135bb43380714908b69e..50f7ef753e58f58e1d760b6710f0c057fabd938a 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 1f031b136c949f020fe08ec1a6b648d3104adfda..cf1fc103c4031bef1c832a57524baf2c20bf3fa8 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 0c7e3e6aa44b3465997dfe82fb9deaed59005f41..ffb18f019523d2a47910491263102582bd4e54ef 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 1d6ec3eb5d323d195863c6abf6e7334d8cb740f3..a400bbbd8a2a4d0fdb148513b82f050c649c698b 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 738b414ddee8f012d3fdb80734fc1045091e02a8..ad4d3aad03bd9cb0e3577daebc80b278b0aed67f 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 4e24fd58d9f7c2216230f1b52edaae6002bb6c51..1894638ba1d03e3a8a75c4f24e9e98af59fa5aa6 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 e5ab7ecf3030b2d7d1d131f9d85b0836f31ecf44..d985a2dc41aaff4479c34359781e882253f79c29 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 26cbf28e4503a8b2d485053553a1ee01f9f44de8..d9a3a35cf7e77e861774b13ef11e0c3b08fb9367 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 af268f627e6cd2aba976eec4c16546e967dcf497..fde651b7a84c28ceaae9678d37b3a7edca252d3b 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 370d95d51ac90efa905c22949ac191a7071bd17a..d376adef522bb572cc3b099885c12f473a94260d 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 0ba06c005fdfb12427c549ddda6b8cc43fe1c0e6..851372090cc1562a710fad7c81caaec39e45c9c6 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 dc3a14dd062e960d1b21126521273f7f910e950c..922d181e0682f066563870aa725fc6cdacacad07 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 e2d3a4d32555c33cd68553a8dcf4f6797dc5ccb8..4fcbf090ed46a85217fa79f6a81263624c1e078b 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 cd7b5265a506679bc60e84b43f5a2f05105b417c..0cea505ccbb5a99a6dd52d4f9ab182b18b2987af 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 ac6d6bd105acd26779688605d4299c1f2d1270fd..f453309e9d21bd41d14ce4e1b9f65757f8deb734 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 7a4bd2031660610f49a71a101be74218c9ce41e4..b836cdc4913623fda4f450e6cc6b8d7354148495 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 aad55242b153b618504728cce25e103957517f2e..a7ada4e7ce9d1a31728993be11904528ca9458c7 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 5c687997ade890721ea7c7a36c849c87bd530da0..be8dc1e503a33fba9093be488f982267404373c1 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 ad05cddf0d84bf669f303f217ea4c16f29680123..a4a3e60842d0f22b4d2e3ef8bb15ab7e5c09ccd9 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 ac608530ba1a159f5c928548934ab7ec0c79a7cb..fc8a2fcdf1da42c63b2f6073bd001605c4d5e44d 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 e6033f4f74cbfb08ca4506c86a23521db7f4ed28..6d4b4db9cdbb67a20222ce3f431034f4321e42c4 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 e8b499eea4c8a5a182bf28bd8b5b92909b1976c9..b05c4cb32638fd8d0243d13ca1fc7f60ef6791b3 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 6d456d586f9740538914fd5415dea0c83e5370db..6cfec6f666748af65a73f8dada51edf1c3696cb4 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 3b87cb838f5cbc96393bec96ebb93771e9189006..6dc2b2100b373a51a0b2e872b5f4d4a9d3acb853 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 7e9be88ec08b38f658531767b564c1029ec54687..593646e6e218066b8755eb62e4ba6104a7d3b3ea 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 77657352ad846b5422c8c0722749677b7aafa021..072ee966cf783b886fccabb7bd3fad11d4cd18ac 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 de2fdd5abde4433777c097ee6c2ae3df8c330a7f..6d8a2db9796f06857c8a5cbb45a1f23c028338db 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 57296913d66efd5111586eaf8728a679d321a928..a88c06c9f01b2c9928ea89dec9c9dd34ca6ebd8d 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 b43bf19b6f29788638a556035e1c98004c55b4dc..bd14771783f36e9405fdb146b81a4bb4d8ba5311 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 2c96bf98179b9799d624669b6ff82f27d9e960fe..7803a3c25b0bb67bb51542161c667a67c5e334a8 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 f7ab7904afda731ac0fc8e9a6be9876287f27028..f952fdc91a81b1cc75af07beaff26d0fd2c911ac 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 1a1447ad6334092c325709100dc175e5819173e3..d37725604f02b3c1a24e8a082e8b3d8642a1206f 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 379b0cf1ecf841d19313839f5b9cb22937b1e190..0fe770e6111589d26a9afa6ae66c65365f39af7d 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 4950a1abf2637b89d1cc900a478485d312872aa8..491055ebb557234568f271244b9a208756732954 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 febbaf3e5e3120ec07e4299239645baf2e189e88..900c9a6cbf32bdb5060d14146e643841f7d18719 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 d18a643522fd125a7629df66c52e4e09405476fe..651cf3ab338e870fb90a952849478ac4a50279c5 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 d2dae2249719b89e8f7ff71b86b1285eb1ef22f3..751f5982e2d9fb8f32f60f2689e739faeff381c4 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 b545d8ac41f15079d0835a4b37b18108252ea5df..7ac25f2fac702e8f18e51f3d0bbce5b160be3cc9 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 9187d312665c5c51bf5ba47b804a66e35d27349b..5e81f01f019b68154d03fb317938b968946bbbee 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 8edd25dc3a9fadca6db0fb5dfef2fcd7d4b77875..c8734213ea0ea18a43f003df18c2f2f6113acfa5 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 4cb1afd2a51ec13595061f7e1468cf60934f35ec..a6b2f0f47e9a1398a243a6000ae290c91510c89d 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 82f397faec82a8336f7bb0c69d54d63357ff7d11..8723391ff6ac710094bf0c7aaab8d2158fade7c1 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 2ff9c95300581ec1b1f542d08c5a2f5eafaef4eb..37f2236b07b8bfb05e0cbb4b436f054cc8e9bf5a 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 09fab1a33f07663f8b44e35df398e89367e41ba2..42cc5936232fa0c8455adcf5261d9a546ee31b5f 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 e6a395918bcacea4d0315095afac04749a2ca665..44c06552647b4d2083cdef15121ff72531684991 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 64336eda8efb55e8cf41943ce4e772043e8280c2..1e6a842f8138ca9c50ab0829e3c4bcbb3426ea29 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 0ddfd63cbb5bd4702f7854a1f1fce924368dbadd..ad693f2db771fbcbf5aadb31dd792263a42595b3 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 c6c8506400c5682be01ad42669677e350da6ebdd..991e6524f34adef515f1d877651affb290039aaf 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 4e3fba0b8794ee98ad411c7a799916a6fd776955..2f7bdea3682f030e53b7c33bccb2f46b5eac2e62 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 c35f74002345662694c216991d0887d91e5f8608..230f5d857be62391b994e018f0f21df763435ff4 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 08a51a3fe79aeb027eae22719d639d199cce068c..c4f267f9b121b1a25afd0e01298be53d88aa2aea 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 2c2fc3b085fcd1a7a64aa7b02d09eed71287cf83..4c1bfc43afa745de6f4aabbb97f642b7f71bcbfb 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 5ab0e726a7195b827cc87b85a5ec12a6ac871f90..c2c7cc74eac659678c437769804c9a8f2ca79d3c 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 906e9f5e2ba290a468b5cfae315c19b81cbc0142..294ae8fa44aa8ea34d3435ab4aa211f09cbde3f4 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 285361cb25c6365cc71cf5c6d51cb3791f55970f..4aebe1f68a2350e83bf2e7d7c9f8b8ab39d92db6 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 e035580b32839a82658fb3c8b236f9e14f93d1ca..2b865ff35e2e0b03b98052e3f343aed11942b4df 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 32bee41fb58b5ca0b373c6cbe7b8d749f0ccd655..fb22ed2bc54fda59ea9c186c8f3419113de7a38a 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 6d5732f8129d531127aadefbe12c15d3e789a0bc..263a0b1cf0fa5d1706408996ca600ed912adbebd 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 8a266e6fc46d2c77a61c7ec9db6784a6e5299e18..2cd6ef59e3890a8a5242b96158d36f2d42418daa 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 3137aeaa6c6143cf3178e6e1aa18532a2bb539d2..c7478774ff47dbf6cf38b76775169aa2da51d16b 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 bfd39dedf03f753c3b5debb8fcf386823987f674..c976f688e326b7c805701eddbfb634640359a7a0 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 a4409f1e618fa42c4b8e8d4bdd3bb4b02155e631..f58bfe53a7542021e606d539e998858f80da431e 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 40522d4cf526d445af2ccf2eda1d3bcd3c76af7d..0914769d4506bb093d41a95f87d0929f48606832 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 985092f9714ff55194c1069fa83e717e483b7186..e01aa9b2f1450af9794d9e101cfb7e05542c2ef8 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 ab691c02bc58ce082875e867f09c3094a31289b2..ce389d521d8fab4897914167a642e6043a2282d7 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 98d64577e6395946be27e17e3ec9410c206899a7..eb905a442463436bb3521a18380c0cab067c0195 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 2ad31f2cfa093f2cb0519f97059328a103c59be6..585077199a031180853dad3575cd05b067e8138a 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 b508b80ff2406bda3e57a14940bdba65dddb1ae2..149a7ab13bf02065a7a7a88a87adb558ed6b23c6 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 65200bbb4ebf045341426d4c50ce9f123d54a972..13aadb22609ebc229394b907413c2d04d79a7db4 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 5896edb43af65375f56e9416e3a448e1aed0a9c3..ea9e5bb01ea045f455d5a7152af0a7c4369f4410 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 eae47c080d167d1aabed0888f7d636e6255210ac..cc0871719230212288aee045875c5503b07cdf72 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 7b2347d99f09aeb9895da8c6c6eb81c289e30933..969a70f334274d22bc6de1d8e026f15f26eabd5f 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 42df3edd0a6251332ef38fd252fa75f52d910778..86fe937a6eb409648313b525acae65d4afcac365 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 d083db75bd986fb79b0bc51107091acbbb89a9f1..9a52a83d0405a7fabda03543c339e5fdcb328ef5 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 4ac91e03d635a43da60d9769a6de7df6d1b874b5..841b2242779919bfac7e1da48e6397792e481b02 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 2d93802289208b6ccc755d303e5c9a6e38a7600a..f92b44102ca7ddcd93ebd714da17884ecacc81fe 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 d2f594a2f1400b2c0cc5b1593ede244b8099ff0c..1faebd5172226ed8cb1ccdf54a8ea52139c8d4b5 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 52da322d1c6dd0750f30aee873dd49a43f3533a0..faeb5966cad7037f68736d35975673f1a134490f 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 7908132335f982c2b84fcb04a1fa04f69ec729b8..f8c62089c571e63eb22e6ce901c017c5711cb3c8 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 0707b40f927ee206f368448ca3af4d06d5916ece..c47f5cdd36079b9db7af0768f7428413a7c3c4a2 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 8f08dfac6bca90d4ef57bc73aa537292273fbc7a..7fbcf5381fac1aa10534163024453e86c35365a8 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 d38fb18b14c5fd48c59d5fe7f35ad6f7ebb6534d..2d67815f33d79658e28fe6d00bb156604fe91454 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 9df77f8813da41f4fb25289aacfb5c0e6a1dbd94..20518facbaf76e2b270d28fca650d0f2b02a1f7b 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 c872a26833968a920a8c5bd4765903bd4e932835..d236fdf6e2e63755c4677dce033b402601121369 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 6a8458dd55cf346833b91fa60967fc3d2d8571b8..42a71f2d98253c6de6960c79b9dbc1a51d8b2f3e 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 59a290cba9a94264f10d1de3b1aee2387b73fb8f..196e955e323c494d8160f87485212d77f4b7feda 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 7c5db8c7c9e3ce42b697a9fc2cd525f23df1f8d6..e75a7c03dec1765ce3c78ed46e728ff852e1d2e5 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 760454c64813a1d332e7428205f5a769a0155a89..4a3d557fe4b1ce65fa50d71786b6c8c46a791e27 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 7f72cd3784ad3ed36d4e34998fb22fc5980e2301..ca1e2ab4d75f32f4fcfd6c8a66d02d5a677ee54c 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 b8b4c918f64478bf2f39d85623c4eb3e9c90c738..df62cc4b23d11302ebb5d6d5ef15c9668c60aa3e 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 ac907327911f10b89386aecfedec2cf2b74ddfc4..dc0b3bc030f2f861825bbf8b8c83c20a61929f31 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 e790e3abe4af77033bdf9293095fc9bad265b556..bf923b2dc461db0204160bde7557ce4cba90b627 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 702455db341e80f8eb492c23fb07ce413d6e2b94..bc40d2d0508c80a25dcc75081ec6e2aab2f69fa5 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 6a9d0fda5e0114d44e71a82b3c107a3146a2c2f0..8dd92be8c6f5c27e64bb36aa21f7b180670ff55b 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 13867d4ab0a8769f303dd721cc308a3a2ec1640d..91b6ce512deee602f0b32d01df076f90dd578d9c 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 84073558255757a07ead175dc23b49441de5ab4b..1eaff4538515d53ce6c3191c922b81ede90a6f79 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 86f3429651eb4b9f33273f84e118f70827bc9c23..0bfa57a6bf67970bd4d81ff3538b776c654d6c38 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 5f443eca5816681df3080d9b4d92930f673e402b..7dddc7dfad767cea3ad3414ff09bb2ef14ccee2e 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 e9427dac3fed6801c1e4be333d933f8ef393a084..35bdc1627baaf43362769dc5c6d7ccb9413c0533 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 f1ca80a85505e88cf6996e8f890e64ec39b9cab7..15d238b78362d3547ed286695ecb1613840f6901 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 247887092a1226d8f351d108c6c44f9d2b6373ed..29e82ba79a0165e0b6b217311e80624b2b0c430d 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 38b7fccc11b4467eb7e07b72ac5344216f58aa29..a746eefaea8d39dee8ad779c75ddbfff0b7132bf 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 fe72317ebc2620a76499caed84e23703dc44d305..fdcdc48c53b5a9dcf58fdf679e723909e3d962e5 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 829e0f30ec18bba8cfd30963d2421dff88e316f1..7b069eeac491659110307c3902ea2d3e418978f6 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 ef88fb3e658e9d8efc2ac74d3b8d4165ba4d9cfb..0ed9c5f0ed181392e7416b99356bb9d2d8c5f1bd 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 3619308bb294c43420e340f6e5b0ad72df34d69f..15d0e8ad2f86ff97f02904d19df1758a831e500b 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 a408f049c4e56690e00c7301f9da556b6eaf0fb7..5792e25ea763e6bd30d115a457d0552c5eafafb2 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 dba44a78bd6149d1e8ac9deea3637a3735e043aa..2ee9fb06dcf5d45787aee6dfe32879c869a65eb6 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 2bc64e064d9b686f801c2da459fa9dfa20b42dd4..023711903029d920c9359f8d77d792e509c79869 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 198673a75af03bd1fb4b0637059e8cc2e90f4ed9..e63c6c95fe8bd0c09a00f1520c512a14ca2367bd 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 b1e5707ccfecfa54d5ac9b330403c75195759666..fb0e165c8dabf3ba59b46854e673cfd8d0922dea 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 6d7c2b18ece09e6024d6c78445cd95627bf35dbf..36af61a80d3f6efca3ff78ca1ebb287d13276f4a 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 32066e29458fc31968cb91d13ca8214ecbfb98bb..1bb7265a590ae67e36dcb57b3a8e220f1ed6806e 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 9068fe4787d77f921a5dbe7a2c88f1277daf6fc4..9d06f891b401eac26d348721759da653f795e739 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 51c8a335eb75a30afed24c5095e0742949236021..95ca6f52c9866db4ab9644d462295fce9d4d3ffa 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 6ad96348d5a443e88f375ef7c202a26abd99371c..d4b7e7add8168c56f08d5670f9da9be334777138 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 0add7337f47d18abb8a089fe6b8f54abd4846c89..29ddb6fcd7181747115d8f18405ce0372c68e994 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 8cb30f5f87bf19427bfce7d0eea52d65a2d29501..54a88dd939b9e7db0e837f1daf3d00745128b30b 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 4508bcf2fa1d02aaf7aef02e391f1d112da43df1..1f8d6bbf420d22a24b17b7d0f4457b3f1360ade3 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 35ac688cbd3cbe30f03b5c1bb4e411773c9337eb..0cbf1b62760c36a84509965643ca0eb88b0ddd04 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 e52f68c092d99e1812414f51abf1cfd89a7ed171..1e74dda6003b8909e851b0eb84ea29fc429cd0ca 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 2d4ab79fc69c3e81d50e6e29ebd0b18041b3fca4..819f1c8e4e7243d1c6d20ecf05374f9c2ae71f88 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 8f5a0e5138921b549e9a429be9e0d97776de858d..3bdb9ea3488b6595f1d5a7e54f23242733c3a971 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 14eab6c540a720f0b718f774e216b4a20ce56cb4..63d0af8304b1a56b590486decdf607877d08d984 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 9b7cb35b168c547b10db30ee180fe20e951de0ef..49e73ec2234be6dd12eadc04747ceb9183952bc7 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 9d38659700bf011db029e322e6445c2db0d5010e..f0267dc6a67abb09f00d151b376ef65b00c38b16 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 db7a524cd1ac726c3a8d1ac8a43b134871671de7..74f7230942c748d61322f8d07d7c94506a7850cd 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 7d8fc3c430353dab344f27f34199f9b9335bcb93..04e41adfdff1434683e1c4b9c0f1fee2e03f9979 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 3fca8de63ddedaadc71284f8250e09e259ea58a8..1612a07b78e32017c48e093d0e16b0ca10105913 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 9824d5dd7101e91a44445404f71e6721a459f058..5333585aafad1f85f02aa3239fd6c3de5c3ea5f3 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 f202afa92a9e7d1e499d5fb1d3a28e45b3c03fcd..b5425fd4d5b2604fae130afa713a3fc7d1978dae 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 56509186a6fbbb8e0f395fee24188b021d28cccf..448cc4c59ca67831a71a78bf61b3794ac83c4e62 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 824d4af140247eb92e5e6207fdaa97f5762cdda5..213edf5e2b5215b00a8c0a7afa1105a579b580b2 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 f23552c72ffe9cbb6ab43dcf203047db6fd25c77..0c1706c597a2c4df2af97764f4a5ae3be938adf7 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 a67c6a559aaf4d250551124c0759a8b8b8118c03..dbbb4a6110fcce7bb1a0e5eb51a5ea73ab22cd06 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 7c4928f4ce94b21f00a7dd334b4a208061ec4848..1d3282e1c1c2f2643336ec02f71d076e3091a75f 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 4d8fc9ad09d42dd22ad92af76da7b405da1414a2..b2824893668d12bff36d3d9be760846e8a86f8a4 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 b69d2d0eda58ac61953267e891cdf56738dbcdf8..b9bcf8b50bffa3649833dc300228646c162c2080 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 46ff74c81718932aae6ad45b592a85c622bd52a6..03d010d5609d41b4f22a05ed4f43e6bf37d0ef2b 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 ee0ae46f10e64ee55c6dabb3f60e3130fddf22ad..2c985ea80935fa04e47112f75e2793cdeff5d97f 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 07c01b1c64f61a5466454ffb3be21d0b912a2ae9..bca10a41efab569b1356d52b48c77a9906a3931b 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 39aedeea8f92ed3b8bca7fad4d1d4ccf2ac0f595..2e0f03a31563674676a002a844caacaf6602402b 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 e6ff1297b38562fdeb8d5841e41df5eee982e4fd..5ce3aef5e10d147b983530185e14216f4b5b82b3 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 246c9215750b02239c358f4ff95aab6ea2b5d4be..34a7fc0ed1f0b383beb12ad345aba4bb3f3c3344 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 d3c02a8b3f276d5484642d6c017878e1628934d9..75a3302a30a002e52a6cadfc89098425c1ccffbe 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 0d9456429cab9de7eb48489601d14618a1fd2b6a..af52a3a6c72f9308c48588bd08127cc73579aad2 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 7b4da05922dffb26555750014c859efd497fb671..1d6ebb3af4fff40dd0a04b14ee9745b636d5eb8f 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 6d5ba1db78619f91f198cb6065cd7064c8301a71..d4e78e4ba33121e1c9ac4f11215ceb47d9708077 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 f6994f07f3ba59aa0b89511718bd69cf271d47e5..ed134ec1a1e4a97b35b8b0076341b97a62b1f7d7 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 553f387abcb8b47657a0954a97d6d4516d795697..8c369e30480cdc58383e434571600c4ac7342703 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 edf97e57a34f80962096dc0bf27f6441ec2ba04c..526f32c9a933a8f3213a412ea82b4af98176925d 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 d3b5a6e43fb29ed74cef5bf161985e29d9b8b226..f1226f9d8c84f77087375f7a12139b3536cf5844 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 b329aa14942c23cf76c2d1d296dbafe7a516d370..741993a26ac4ba6e244ebaeee706a4ae121c38a3 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 182d489e84f79c1e1449a9097b7e50d6c43982f1..0bd335540b145710539c707319cfa2fe23bbcf5d 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 0c9a2304fe93bb3ed2228fb9980494a24fcde012..50664c88899d94dc3023a87b5e375a16d0bcf7d9 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 72d9291abe890b994f39274d7cf0396b44237b60..a2704e895e00fd527e8a64eb5f363e39070232b0 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 e18ba3ba510fac37b7449da1365a26711598589e..44aaaba00f8ddcb0559555956959751a48adc64c 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 1d6b72d761550ad63363a4c1c955c8049911b4b6..38d35d45134f8e59a2d9f698b9e1bc0fb46bb17e 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 a37717723e9390d7d3efe41d2ad14b0e0729081d..ad4ab26da23415cbbe3210b756ed0efe811eab36 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 caccdafc7107a6e87b3e44523b7c51f52a44447e..616856a202bfb7b18d05c19bb1e97f08b3cbc01f 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 a20deba2e84c419d225c86762d9979b9f83c8c8c..a053c2fbed104454eddd06984c3b161ddf2ef88a 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 3587465e6188b08285c3fedc11075f1b302cdfb3..faba8af0e531a5f104e8e6c7a34d01d3f6649e4a 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 c0824b07fc5e58ffdef6d4795947cd96371eeb81..309711fcf939a2c0993b015d6a381050b3b7fdaf 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 11f8d03cf4fec5083fc2d30f01987c6449a709c8..4a6ced840e2dd537532b0721826d6d07c6120c6d 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 dc72b460d38c02ad6a2ebc377eec5e6a5f553dfc..6d788caca270afc5b607031aba0994bdf5da26f7 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 89ac19c4de4e0576c509a3098a537c5b168b196d..b61f71dc70264f5e594dbaee43a0ef81d0ce8c05 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 edd4219ad53137db3d58196b8133279bcd966b3b..009ce90786837af8b86b49c7f8941ffcff4458c2 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 f768ce245dcedce027335a30317770374b2a595c..3f68dd9653f468901c3e152fd05f79f694f6dd5c 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 abe6db0957156465294a604f1db4fb6459249a43..2c91c39e53d50f915e6abbe1b6f58bfcc63bd945 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 1a94b349754f64e1d30a7bc7da45dff9f01be365..bf37f4f17a26ac2365a3416d31c3bd3ab73eb48d 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 844524ba4310b2604d5d93dd91e9cd8efff98865..e819620c0a21a97dede46bfa58c71028ad95e20a 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 a8e6d85883e477726e987f73ca4464ac2737640f..431d9cc85ae589c8958b7ad50db39b61150f739c 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 eb09c0ba1a70d93a6b82e45d7bed1891bed38270..e5f4817ccdf2bf818aa977cf66ea3f11b66b8e81 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 346b0e69831344ffc70a9731eaeadb544367a4d6..18de2d81970f9b629804b579298b66f2042e1a64 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 406f0d1c1ee7d63d59e4cbfe4df24f15afc13eed..b4a2aa6f32bb81ed41f78e8e95676b5cb0161904 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 28a2a66ae375b10a5f800b13db54de960d488663..c2067b687296f2ae9c2fb294cd3bd43bc1e70335 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 5319712ac21a46ffa653d52b099f6e4117163d98..84dab6568d2d68b1502a8385a0bf750dd1f16d42 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 e75b4115463363c574680dbe27f4a27d78d96209..e6da4662bd3f1ced14e671ad22abc20e42faed8c 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 eb51997228c53c51842ea991c884b6e39a802972..2636d7b1f4ad1a5fcc65fbe66a0f96844c4c6d5a 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 5dd7f7c07615a57875415d48358bfd0884a231bc..1ed637b39b7ba905312f58a948311b67e6d8f5df 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 bd54c6ea452dc7acf3f320dff54292b0ee977d3c..7e9489411735f47b1a7c347bee894de635242ba0 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 840a0a93ca31ee4fc4845c6b2e6394183148b611..f1762f538b72e26695aa0c8114cfa2dabc9c2e82 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 0c36eb3d0eef6cfa1fce41956b27167ea37a2e5b..8944bf1d6840c17bcaffb850973efe3c265aaa49 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 86b2a574de0248e9adfb6f69f49825ca69fa5c8f..481b0256a2d6ad3c9e0870c7b98810978fa636f6 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 7e6a7d3c287446efaea7f38e84481337a0c24068..516921c00cfbc4f683f3a367389081fc9c49d34a 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 9e09781377697118b298f8fbb02ee86d4c48e0de..d5bdb5c32fef51ece262677e693a3c82df005672 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 855b185f8a16e6f3b69a3ccca80d7a0d0fcf6134..2eff21c1089bed6158caa5ac238b705f38c90965 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 17c884c56405e75b8b88d3a44eacbc12848d27e0..f6cfde1c0ceb922538ced23e6dddb9e5b8f36f15 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 6e5d3909b05ea09f2f14473596d842eb6c08c5fd..0c6b9679669fa64d75d3e29d109d12042badfb38 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 faacfaa0aa52a23a164c3e2b5c71e6dc8691c7d5..3af92b5eb298cc8d926c80903c1ebe31788ae5c4 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 e9ed55a7e00e6377c05539207ef8544a172150e9..2a88cfe18e98da67a8737086552f1f85a20c3f22 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 84bbba7c55d48c95d3833429942cb35457a61f82..3033dd10ae9becfd4cb65b988c53ce52f9e17332 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 19cedf7d6a24bc3db3452471dd541a9338d4a5ca..e3909ef9d0199c55072ad8a45fca1e72b0c1b0c9 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 82014f38e90c4a65391929159e2de7825666a1fb..9aa309ad93413004811b6e5859800d0685fcfd00 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 74ba3216362ea7c304342ca861eeee01b3f559ba..00a206a6fb1aab6e0e78af05c6d61e2e20d7b151 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 4c8edac7d1dd669a53ee66fe3da5f136b7642997..798f899e52cd333a227d825fefbb2ee3518c67a2 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 a00dcc1feeb98b0d6707e18749a2e430300b8546..02078718b6a7722c35f9cd048f9ed1ca36c1cee4 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;