API Changes between ParaView versions

Changes in 5.1

Cube Axes no longer available

Cube axes is no longer supported by ParaView. Hence all calls to display properties for the same should now be simply removed from your Python code. e.g. display.CubeAxesVisibility = .. and other such properties that began with CubeAxes are no longer available and should be removed.

A complete list of display properties removed is as follows: CubeAxesVisibility, CubeAxesColor, CubeAxesCornerOffset, CubeAxesFlyMode, CubeAxesInertia, CubeAxesTickLocation, CubeAxesXAxisMinorTickVisibility, CubeAxesXAxisTickVisibility, CubeAxesXAxisVisibility, CubeAxesXGridLines, CubeAxesXTitle, CubeAxesUseDefaultXTitle, CubeAxesYAxisMinorTickVisibility, CubeAxesYAxisTickVisibility, CubeAxesYAxisVisibility, CubeAxesYGridLines, CubeAxesYTitle, CubeAxesUseDefaultYTitle, CubeAxesZAxisMinorTickVisibility, CubeAxesZAxisTickVisibility, CubeAxesZAxisVisibility, CubeAxesZGridLines, CubeAxesZTitle, CubeAxesUseDefaultZTitle, CubeAxesGridLineLocation, DataBounds, CustomBounds, CustomBoundsActive, OriginalBoundsRangeActive, CustomRange, CustomRangeActive, UseAxesOrigin, AxesOrigin, CubeAxesXLabelFormat, CubeAxesYLabelFormat, CubeAxesZLabelFormat, StickyAxes, CenterStickyAxes.

CameraClippingRange on render view

For a few releases, CameraClippingRange property would not have any effect on a render view. Since the clipping range is now managed by the vtkPVRenderView automatically, the user is not expected to set this property any more. This release finally removes this property. To fix any existing Python scripts, simply remove any code view.CameraClippingRange = ... from your script.

Changes in 4.2

Changes to defaults

This version includes major overhaul of the ParaView’s Python internals towards one main goal: making the results consistent between ParaView UI and Python applications e.g. when you create a RenderView, the defaults are setup consistently irrespective of which interface you are using. Thus, scripts generated from ParaView’s trace which don’t describe all property values may produce different results from previous versions.

Choosing data array for scalar coloring

In previous versions, the recommended method for selecting an array to color with was as follows:

disp = GetDisplayProperties(...)
disp.ColorArrayName = ("POINT_DATA", "Pressure")
# OR
disp.ColorArrayName = ("CELL_DATA", "Pressure")

However, scripts generated from ParaView’s trace, would result in the following:

disp.ColorArrayName = "Pressure"
disp.ColorAttributeType = "POINT_DATA"

The latter is no longer supported i.e. ColorAttributeType property is no longer available. You uses ColorArrayName to specify both the array association and the array name, similar to the API for selecting arrays on filters. Additionally, the attribute type strings POINT_DATA and CELL_DATA while still supported are deprecated. For consistency, you use POINTS, CELLS, etc. instead.

disp.ColorArrayName = ("POINTS", "Pressure")

Chart properties

There are three types of changes to APIs that set chart properties.

1. Axis properties were set using arrays that contain elements for all axes (left, bottom, right and top). Now these settings are separated such that each axis has its own function. There are three groups of properties affected.

Color settings used arrays of 12 elements to set the color for all axes. In the current version we use a function for each axis, each with 3 elements.

  • AxisColor
  • AxisGridColor
  • AxisLabelColor
  • AxisTitleColor

Font properties used arrays of 16 elements, 4 elements for each axis. In the current version we use a function for each axis and for each font property. See the also the section on font properties. a. AxisLabelFont b. AxisTitleFont

There are various other properties that used arrays of 4 elements, one element for each axis.

  • AxisLabelNotation
  • AxisLabelPrecision
  • AxisLogScale
  • AxisTitle
  • AxisUseCustomLabels
  • AxisUseCustomRange
  • ShowAxisGrid
  • ShowAxisLabels

The new function names are obtained by using prefixes Left, Bottom, Right and Top before the old function names. For example, AxisColor becomes LeftAxisColor, BottomAxisColor, RightAxisColor and TopAxisColor.

2. Font properties were set using arrays of 4 elements. The 4 elements were font family, font size, bold and italic. In the current version we use a function for each font property. The functions affected are:

  • ChartTitleFont
  • LeftAxisLabelFont
  • BottomAxisLabelFont
  • RightAxisLabelFont
  • TopAxisLabelFont
  • LeftAxisTitleFont
  • BottomAxisTitleFont
  • RightAxisTitleFont
  • TopAxisTitleFont

The new function names can be obtained by replacing Font with FontFamily, FontSize, Bold and Italic. So ChartTitleFont becomes ChartTitleFontFamily, ChartTitleFontSize, ChartTitleBold, ChartTitleItalic. Note that function names from bullet b to i are generated in the previous step.

3. Range properties were set using an array of two elements. In the current version we use individual functions for the minimum and maximum element of the range. Properties affected are:

  • LeftAxisRange
  • BottomAxisRange
  • RightAxisRange
  • TopAxisRange

The new function names are obtained by using Minimum and Maximum suffixes after the old function name. So LeftAxisRange becomes LeftAxisRangeMinimum and LeftAxisRangeMaximum.

Glyph filters

The glyph filters (Glyph and GlyphWithCustomSource) have been refactored in this release. This new filters offer new APIs for sampling and masking points. The older implementation is still available. If you want to use the older version of the filters instead, replace the constructor functions by LegacyGlyph and LegacyArbitrarySourceGlyph respectively.

These older implementations, however, will be removed entirely in future releases. Hence, you should consider updating the script to use the newer version of this filter. If there is any functionality missing from the older implementation that you find useful, please use the mailing list to report to the developers.