1 Changes in VTK 7.1 {#VTK-7-1-Changes}
4 This page documents API and behavior changes between VTK 7.0 and
8 -----------------------
10 The following methods were deprecated in VTK 7.1:
14 int SetUpdateExtentToWholeExtent(
int port);
15 int SetUpdateExtentToWholeExtent();
16 void SetUpdateExtent(
int port,
17 int piece,
int numPieces,
int ghostLevel);
19 int piece,
int numPieces,
int ghostLevel);
21 void SetUpdateExtent(
int extent[6]);
23 ### vtkStreamingDemandDrivenPipeline:
25 int SetUpdateExtentToWholeExtent(
int port);
28 int SetUpdateExtent(
int port,
int x0,
int x1,
int y0,
int y1,
int z0,
int z1);
30 int SetUpdateExtent(
int port,
31 int piece,
int numPieces,
int ghostLevel);
33 int piece,
int numPieces,
int ghostLevel);
37 int SetUpdateTimeStep(
int port,
double time);
40 The following
new methods were added:
46 int UpdatePiece(
int piece,
int numPieces,
int ghostLevels,
const int extents[6]=0);
47 int UpdateExtent(
const int extents[6]);
48 int UpdateTimeStep(
double time,
49 int piece=-1,
int numPieces=1,
int ghostLevels=0,
const int extents[6]=0);
51 ### vtkStreamingDemandDrivenPipeline:
55 The main reason behind these changes is to make requesting a particular
time step or a particular spatial subset (
extent or pieces) during an update easier and more predictable. Prior to these changes, the following is the best way to request a subset during update:
63 Note that the following will not work:
71 This is because when the output of an algorithm is initialized, all request
meta-
data stored in its OutputInformation is removed. The initialization of the output happens during the first *RequestInformation*, which is why `UpdateInformation()` needs to be called before setting any request values. To make things more complicated, the following will also not work:
80 This is because during *RequestInformation*, the
extent and piece requests are initialized to
default values (which is the whole dataset) and *RequestInformation* is called during update
if the algorithm has been modified since the last information update.
82 This necessary sequence of calls has been mostly tribal knowledge and is very error prone. To simplify pipeline updates with requests, we introduced a
new set of methods. With the
new API, our example would be:
85 int updateExtent[6] = {0, 5, 0, 5, 2, 2};
89 To ask
for a particular
time step from a
time source, we would
do something like
this:
97 The last call asks
for time value 0.5 and the first of two pieces with one ghost
level.
99 The
new algorithm also supports directly passing a number of keys to make requests:
103 int updateExtent[6] = {0, 5, 0, 5, 2, 2};
105 requests->
Set(vtkSDDP::UPDATE_EXTENT(), updateExtent, 6);
108 This is equivalent to:
112 int updateExtent[6] = {0, 5, 0, 5, 2, 2};
117 We expect to
remove the deprecated methods in VTK 8.0.
123 filter was erroneously outputting second
order tensors
124 (i.e. 9
component tuples) in Fortran/column-major ordering. This has been
125 fixed along with the numpy vector_gradient and strain functions.
126 Additionally, vtkTensors was removed as
this class was only
132 The following back-ends have been removed:
133 + Simple: This is not a production
level backend and was only used for debugging purposes.
134 + Kaapi: This backend is no longer maintained.
137 ---------------------------------------------------------
142 while the latter uses Struct-Of-Arrays
component ordering. These both derive
144 implementation of native support for alternate memory layouts in VTK.
146 To facilitate working with these arrays efficiently, several new tools have
147 been added in this release. They are detailed \ref VTK-7-1-ArrayDispatch "here".
150 deprecated and replaced with new, const-correct methods with more meaningful
153 The old and new method names are listed below:
155 + `GetTupleValue` is now `GetTypedTuple`
156 + `SetTupleValue` is now `SetTypedTuple`
157 + `InsertTupleValue` is now `InsertTypedTuple`
158 + `InsertNextTupleValue` is now `InsertNextTypedTuple`
Struct-Of-Arrays implementation of vtkGenericDataArray.
vtkDataArrayTemplate is deprecated, use vtkAOSDataArrayTemplate instead.
virtual int UpdateExtent(const int extents[6])
Convenience method to update an algorithm after passing requests to its first output port...
virtual void UpdateInformation()
Bring the algorithm's information up-to-date.
virtual void Update()
Updates the extensions string.
Base interface for all typed vtkDataArray subclasses.
Array-Of-Structs implementation of vtkGenericDataArray.
abstract superclass for arrays of numeric data
virtual int UpdateTimeStep(double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0)
Convenience method to update an algorithm after passing requests to its first output port...
virtual void Modified()
Update the modification time for this object.
virtual void Update(int port)
Bring this algorithm's outputs up-to-date.
vtkDataArray code generator/dispatcher.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
T * GetPointer() const
Get a raw pointer to the contained object.
Allocate and hold a VTK object.
Executive supporting partial updates.
vtkInformation * GetOutputInformation(int port)
Return the information object that is associated with a particular output port.
void SetUpdateExtent(int port, int piece, int numPieces, int ghostLevel)
Set the output update extent in terms of piece and ghost levels.
compute derivatives of scalars and vectors