Cloned library of VTK-5.0.0 with extra build files for internal package management.
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

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");
}
}