You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
319 lines
11 KiB
319 lines
11 KiB
2 years ago
|
#!/usr/bin/env perl
|
||
|
|
||
|
# This script tries to find deprecated classes and methods and replace
|
||
|
# them with new classes/methods. Please note that it can not fix all
|
||
|
# possible problems. However, it should be relatively easy to trace
|
||
|
# those problems from compilation errors.
|
||
|
|
||
|
use Getopt::Long;
|
||
|
|
||
|
if (!GetOptions("language:s" => \$language,
|
||
|
"help" => \$help,
|
||
|
"update" => \$update,
|
||
|
"print-messages" => \$print))
|
||
|
{
|
||
|
die;
|
||
|
}
|
||
|
|
||
|
if (!$language)
|
||
|
{
|
||
|
$language = "c++";
|
||
|
}
|
||
|
|
||
|
if ( !$print && ($#ARGV < 0 || $help) )
|
||
|
{
|
||
|
print "Usage: $0 [--language {c++ | tcl | python | java}] ",
|
||
|
"[--help] [--print-messages] file1 [file2 ...]\n";
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
|
||
|
@cxxmessageids =
|
||
|
(
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\([ ]*\)', 0,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_CHAR\s*,\s*([1-4])\s*\);', 4,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_SHORT\s*,\s*([1-4])\s*\);', 5,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_SHORT\s*,\s*([1-4])\s*\);', 25,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_INT\s*,\s*([1-4])\s*\);', 17,
|
||
|
'vtkScalars\.h', 1,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*\)', 2,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_CHAR\s*,\s*([1-4])\s*\);', 6,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_SHORT\s*,\s*([1-4])\s*\);', 7,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_SHORT\s*,\s*([1-4])\s*\);', 26,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_INT\s*,\s*([1-4])\s*\);', 18,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_INT\s*\);', 19,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_CHAR\s*\);', 20,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_SHORT\s*\);', 21,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_SHORT\s*\);', 27,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_CHAR\s*\);', 22,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_UNSIGNED_SHORT\s*\);', 23,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_SHORT\s*\);', 28,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkScalars::New\(\s*VTK_INT\s*\);', 24,
|
||
|
'vtkScalars\s*\*\s*([a-zA-Z0-9_-]*)', 3,
|
||
|
'GetScalar\s*\(', 8,
|
||
|
'SetScalar\s*\(', 9,
|
||
|
'InsertScalar\s*\(', 10,
|
||
|
'InsertNextScalar\s*\(', 11,
|
||
|
'(GetScalars\s*\(\s*[-a-zA-Z0-9_\*]+\s*\))', 12,
|
||
|
'SetNumberOfScalars\s*\(', 13,
|
||
|
'GetNumberOfScalars\s*\(', 16,
|
||
|
'GetActiveScalars', 14,
|
||
|
'vtkScalars([^a-zA-Z0-9])', 15,
|
||
|
|
||
|
|
||
|
'vtkVectors\s*\*\s*([a-zA-Z0-9_-]*)\s*=[ \t]vtkVectors::New\([ ]*\)\s*;', 100,
|
||
|
'vtkVectors\.h', 1,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkVectors::New\(\s*\)', 102,
|
||
|
'vtkVectors\s*\*\s*([a-zA-Z0-9_-]*)\s', 3,
|
||
|
'GetVector\s*\(', 108,
|
||
|
'SetVector\s*\(([^,]*),([^\),]*)\)', 109,
|
||
|
'SetVector\s*\(([^,]*),([^,]*),([^,]*),([^\),]*)\)', 115,
|
||
|
'InsertVector\s*\(', 110,
|
||
|
'InsertNextVector\s*\(', 111,
|
||
|
'(GetVectors\s*\(\s*[-a-zA-Z0-9_\*]+\s*\))', 12,
|
||
|
'SetNumberOfVectors\s*\(', 113,
|
||
|
'GetNumberOfVectors\s*\(', 16,
|
||
|
'GetActiveVectors', 114,
|
||
|
'vtkVectors([^a-zA-Z0-9])', 15,
|
||
|
|
||
|
'vtkNormals\s*\*\s*([a-zA-Z0-9_-]*)\s*=[ \t]vtkNormals::New\([ ]*\)\s*;', 100,
|
||
|
'vtkNormals\.h', 1,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkNormals::New\(\s*\)', 102,
|
||
|
'vtkNormals\s*\*\s*([a-zA-Z0-9_-]*)\s', 3,
|
||
|
'GetNormal\s*\(', 108,
|
||
|
'SetNormal\s*\(([^,]*),([^\),]*)\)', 109,
|
||
|
'SetNormal\s*\(([^,]*),([^,]*),([^,]*),([^\),]*)\)', 115,
|
||
|
'InsertNormal\s*\(', 110,
|
||
|
'InsertNextNormal\s*\(', 111,
|
||
|
'(GetNormals\s*\(\s*[-a-zA-Z0-9_\*]+\s*\))', 12,
|
||
|
'SetNumberOfNormals\s*\(', 113,
|
||
|
'GetNumberOfNormals\s*\(', 16,
|
||
|
'GetActiveNormals', 214,
|
||
|
'vtkNormals([^a-zA-Z0-9])', 15,
|
||
|
|
||
|
'vtkTCoords\s*\*\s*([a-zA-Z0-9_-]*)\s*=[ \t]vtkTCoords::New\([ ]*\)\s*;', 300,
|
||
|
'vtkTCoords\.h', 1,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkTCoords::New\(\s*\)', 302,
|
||
|
'vtkTCoords\s*\*\s*([a-zA-Z0-9_-]*)\s', 3,
|
||
|
'GetTCoord\s*\(', 108,
|
||
|
'SetTCoord\s*\(([^,]*),([^\),]*)\)', 109,
|
||
|
'InsertTCoord\s*\(', 110,
|
||
|
'InsertNextTCoord\s*\(', 111,
|
||
|
'(GetTCoords\s*\(\s*[-a-zA-Z0-9_\*]+\s*\))', 12,
|
||
|
'SetNumberOfTCoords\s*\(', 113,
|
||
|
'GetNumberOfTCoords\s*\(', 16,
|
||
|
'GetActiveTCoords', 314,
|
||
|
'vtkTCoords([^a-zA-Z0-9])', 15,
|
||
|
|
||
|
'vtkTensors\s*\*\s*([a-zA-Z0-9_-]*)\s*=[ \t]vtkTensors::New\([ ]*\)\s*;', 400,
|
||
|
'vtkTensors\.h', 1,
|
||
|
'([a-zA-Z0-9_-]*)\s*=\s*vtkTensors::New\(\s*\)', 402,
|
||
|
'vtkTensors\s*\*\s*([a-zA-Z0-9_-]*)\s', 3,
|
||
|
'GetTensor\s*\(', 108,
|
||
|
'SetTensor\s*\(([^,]*),([^\),]*)\)', 109,
|
||
|
'InsertTensor\s*\(', 110,
|
||
|
'InsertNextTensor\s*\(', 111,
|
||
|
'(GetTensors\s*\(\s*[-a-zA-Z0-9_\*]+\s*\))', 12,
|
||
|
'SetNumberOfTensors\s*\(', 113,
|
||
|
'GetNumberOfTensors\s*\(', 16,
|
||
|
'GetActiveTensors', 414,
|
||
|
'vtkTensors([^a-zA-Z0-9])', 15,
|
||
|
|
||
|
'GetPointData\(\)->GetFieldData\(', 1000,
|
||
|
'GetCellData\(\)->GetFieldData\(', 1001,
|
||
|
'SaveImageAsPPM\s*\(', 1002,
|
||
|
);
|
||
|
|
||
|
|
||
|
%cxxreps =
|
||
|
(
|
||
|
0 => 'vtkFloatArray \*$1 = vtkFloatArray::New\(\)',
|
||
|
1 => 'vtkFloatArray\.h',
|
||
|
2 => '$1 = vtkFloatArray::New\(\)',
|
||
|
3 => 'vtkDataArray \*$1',
|
||
|
4 => 'vtkUnsignedCharArray \*$1 = vtkUnsignedCharArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
5 => 'vtkUnsignedShortArray \*$1 = vtkUnsignedShortArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
6 => '$1 = vtkUnsignedCharArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
7 => '$1 = vtkUnsignedShortArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
8 => 'GetTuple1\(',
|
||
|
9 => 'SetTuple1\(',
|
||
|
10 => 'InsertTuple1\(',
|
||
|
11 => 'InsertNextTuple1\(',
|
||
|
12 => '$1 \/\/ Use GetTuples here instead ',
|
||
|
13 => 'SetNumberOfTuples\(',
|
||
|
14 => 'GetScalars',
|
||
|
15 => 'vtkDataArray$1',
|
||
|
16 => 'GetNumberOfTuples\(',
|
||
|
17 => 'vtkIntArray \*$1 = vtkIntArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
18 => '$1 = vtkIntArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
19 => 'vtkIntArray \*$1 = vtkIntArray::New\(\);',
|
||
|
20 => 'vtkUnsignedCharArray \*$1 = vtkUnsignedCharArray::New\(\);',
|
||
|
21 => 'vtkUnsignedShortArray \*$1 = vtkUnsignedShortArray::New\(\);',
|
||
|
22 => '$1 = vtkUnsignedCharArray::New\(\);',
|
||
|
23 => '$1 = vtkUnsignedShortArray::New\(\);',
|
||
|
24 => '$1 = vtkIntArray::New\(\);',
|
||
|
25 => 'vtkShortArray \*$1 = vtkShortArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
26 => '$1 = vtkShortArray::New\(\); $1->SetNumberOfComponents\($2\);',
|
||
|
27 => 'vtkShortArray \*$1 = vtkShortArray::New\(\);',
|
||
|
28 => '$1 = vtkShortArray::New\(\);',
|
||
|
|
||
|
|
||
|
100 => 'vtkFloatArray \*$1 = vtkFloatArray::New\(\); $1->SetNumberOfComponents\(3\);',
|
||
|
102 => '$1 = vtkFloatArray::New\(\); $1->SetNumberOfComponents\(3\)',
|
||
|
108 => 'GetTuple\(',
|
||
|
109 => 'SetTuple\($1,$2\)',
|
||
|
110 => 'InsertTuple\(',
|
||
|
111 => 'InsertNextTuple\(',
|
||
|
113 => 'SetNumberOfTuples\(',
|
||
|
114 => 'GetVectors',
|
||
|
115 => 'SetTuple3\($1,$2,$3,$4\)',
|
||
|
|
||
|
214 => 'GetNormals',
|
||
|
|
||
|
300 => 'vtkFloatArray \*$1 = vtkFloatArray::New\(\); $1->SetNumberOfComponents\(2\);',
|
||
|
302 => '$1 = vtkFloatArray::New\(\); $1->SetNumberOfComponents\(2\)',
|
||
|
314 => 'GetTCoords',
|
||
|
|
||
|
400 => 'vtkFloatArray \*$1 = vtkFloatArray::New\(\); $1->SetNumberOfComponents\(9\);',
|
||
|
402 => '$1 = vtkFloatArray::New\(\); $1->SetNumberOfComponents\(9\)',
|
||
|
414 => 'GetTensors',
|
||
|
|
||
|
1000 => 'GetPointData\(',
|
||
|
1001 => 'GetCellData\(',
|
||
|
1002 => 'SaveImageAsPPM\( \/\/ Use a vtkWindowToImageFilter instead of SaveImageAsPPM',
|
||
|
);
|
||
|
|
||
|
|
||
|
@tclmessageids =
|
||
|
(
|
||
|
'vtkScalars\s+([a-zA-Z0-9\$_-]*)', 0,
|
||
|
'SetScalar\s+(\S+)\s*(\S+)', 1,
|
||
|
'InsertScalar\s+', 2,
|
||
|
'InsertNextScalar\s+', 3,
|
||
|
'SetNumberOfScalars\s+', 4,
|
||
|
'GetNumberOfScalars\s+', 5,
|
||
|
'GetActiveScalars\s+', 6,
|
||
|
|
||
|
'vtkVectors\s+([a-zA-Z0-9\$_-]*)', 100,
|
||
|
'SetVector\s+(\S+)\s*(\S+)\s*(\S+)\s*(\S+)', 101,
|
||
|
'InsertVector\s+', 102,
|
||
|
'InsertNextVector\s+', 103,
|
||
|
'SetNumberOfVectors\s+', 4,
|
||
|
'GetNumberOfVectors\s+', 5,
|
||
|
'GetActiveVectors\+', 106,
|
||
|
|
||
|
'vtkNormals\s+([a-zA-Z0-9\$_-]*)', 100,
|
||
|
'SetNormal\s+(\S+)\s*(\S+)\s*(\S+)\s*(\S+)', 101,
|
||
|
'InsertNormal\s+', 102,
|
||
|
'InsertNextNormal\s+', 103,
|
||
|
'SetNumberOfNormals\s+', 4,
|
||
|
'GetNumberOfNormals\s+', 5,
|
||
|
'GetActiveNormals\+', 206,
|
||
|
|
||
|
'vtkTCoords\s+([a-zA-Z0-9\$_-]*)', 300,
|
||
|
'SetTCoord\s+(\S+)\s*(\S+)\s*(\S+)\s*(\S+)', 101,
|
||
|
'InsertTCoord\s+', 102,
|
||
|
'InsertNextTCoord\s+', 103,
|
||
|
'SetNumberOfTCoords\s+', 4,
|
||
|
'GetNumberOfTCoords\s+', 5,
|
||
|
'GetActiveTCoords\s+', 306,
|
||
|
|
||
|
'GetPointData\s*\]\s+GetFieldData\s*\]', 1000,
|
||
|
'GetCellData\s*\]\s+GetFieldData\s*\]', 1001,
|
||
|
'SaveImageAsPPM\s*', 1002,
|
||
|
'GetImageWindow', 1003,
|
||
|
'catch\s*\{\s*load\s*vtktcl\s*\}', 1004,
|
||
|
'source\s*\$VTK_TCL\/vtkInt\.tcl', 1005,
|
||
|
'source\s*\$VTK_TCL\/colors\.tcl', 1006,
|
||
|
);
|
||
|
|
||
|
%tclreps =
|
||
|
(
|
||
|
0 => 'vtkFloatArray $1',
|
||
|
1 => 'SetTuple1 $1 $2',
|
||
|
2 => 'InsertTuple1 ',
|
||
|
3 => 'InsertNextTuple1 ',
|
||
|
4 => 'SetNumberOfTuples ',
|
||
|
5 => 'GetNumberOfTuples ',
|
||
|
6 => 'GetScalars ',
|
||
|
|
||
|
100 => 'vtkFloatArray $1; $1 SetNumberOfComponents 3',
|
||
|
101 => 'SetTuple3 $1 $2 $3 $4',
|
||
|
102 => 'InsertTuple3 ',
|
||
|
103 => 'InsertNextTuple3 ',
|
||
|
106 => 'GetVectors ',
|
||
|
|
||
|
206 => 'GetNormals ',
|
||
|
|
||
|
300 => 'vtkFloatArray $1; $1 SetNumberOfComponents 2',
|
||
|
306 => 'GetTCoords ',
|
||
|
|
||
|
1000 => 'GetPointData\]',
|
||
|
1001 => 'GetCellData\]',
|
||
|
1002 => 'SaveImageAsPPM \# Use a vtkWindowToImageFilter instead of SaveImageAsPPM',
|
||
|
1003 => 'GetRenderWindow',
|
||
|
1004 => 'package require vtk',
|
||
|
1005 => 'package require vtkinteraction',
|
||
|
1006 => 'package require vtktesting',
|
||
|
);
|
||
|
|
||
|
if ($language eq "c++")
|
||
|
{
|
||
|
@messageids = @cxxmessageids;
|
||
|
%reps = %cxxreps;
|
||
|
}
|
||
|
elsif($language eq "tcl")
|
||
|
{
|
||
|
@messageids = @tclmessageids;
|
||
|
%reps = %tclreps;
|
||
|
}
|
||
|
|
||
|
else
|
||
|
{
|
||
|
die "Unsupported language: $language.\n";
|
||
|
}
|
||
|
|
||
|
if ( $print )
|
||
|
{
|
||
|
$i = 0;
|
||
|
foreach $key (@messages)
|
||
|
{
|
||
|
print "Message id $i:\n";
|
||
|
print $key, "\n";
|
||
|
$i++;
|
||
|
}
|
||
|
exit 0;
|
||
|
}
|
||
|
|
||
|
foreach $filename (@ARGV)
|
||
|
{
|
||
|
|
||
|
open(FPTR, "<$filename") or die "Could not open file $filename";
|
||
|
open(OPTR, ">$filename.update") or die "Could not open file $filename.update";
|
||
|
|
||
|
$i = 1;
|
||
|
while (<FPTR>)
|
||
|
{
|
||
|
$line = $_;
|
||
|
$j = 0;
|
||
|
while ($j < $#messageids)
|
||
|
{
|
||
|
if ( $line =~ m($messageids[$j]) )
|
||
|
{
|
||
|
eval "\$line =~ s/$messageids[$j]/$reps{$messageids[$j+1]}/g";
|
||
|
}
|
||
|
$j = $j + 2;
|
||
|
}
|
||
|
print OPTR $line;
|
||
|
$i++;
|
||
|
}
|
||
|
close OPTR;
|
||
|
close FPTR;
|
||
|
if ( $update )
|
||
|
{
|
||
|
print $filename,"\n";
|
||
|
rename("$filename.update","$filename");
|
||
|
}
|
||
|
}
|
||
|
|